                1  *STRIKE FORCE - COPYRIGHT 1984 BY JEFFREY STANTON
                2  *PART I SCROLLING GAME
                3  	ORG	$4000
                4  ***	TF	"D:SCROLL.OBJ"
                5  *ZERO PAGE EQUATES
                6  SHPL	EQU	$F0
                7  SHPH	EQU	$F1
                8  SHPML	EQU	$F2
                9  SHPMH	EQU	$F3
               10  SHPM0L	EQU	$F4
               11  SHPM0H	EQU	$F5
               12  GROUNL	EQU	$F6
               13  GROUNH	EQU	$F7
               14  VALUEL	EQU	$F8
               15  VALUEH	EQU	$F9
               16  BLOCKL	EQU	$FA
               17  BLOCKH	EQU	$FB
               18  PMADR	EQU	$FC
               19  CHSET	EQU	$FC
               20  CHADR	EQU	$FE
               21  E1L	EQU	$F8
               22  E1H	EQU	$F9
               23  E2L	EQU	$FA
               24  E2H	EQU	$FB
               25  MBZL	EQU	$F6
               26  MBZH	EQU	$F7
               27  *LOCATION EQUATES
               28  SCREEN	EQU	$7000		;ADR. OF MAP
               29  INFO	EQU	$6900
               30  NDLIST	EQU	$9400		;ADR OF NEW DISPLAY LIST
               31  CHRSET	EQU	$9000		;ADR OF CHARACTER SET
               32  *PLAYER MISSILE EQUATES
               33  PMBASE	EQU	$D407
               34  PDATA	EQU	$8800
               35  GRACTL	EQU	$D01D
               36  DMACTL	EQU	$22F
               37  SIZEM	EQU	$D00C
               38  SIZEP0	EQU	$D008
               39  PCOLR0	EQU	$2C0
               40  PCOLR1	EQU	$2C1
               41  PCOLR2	EQU	$2C2
               42  PCOLR3	EQU	$2C3
               43  HPOSP0	EQU	$D000
               44  HPOSP1	EQU	$D001
               45  HPOSP2	EQU	$D002
               46  HPOSP3	EQU	$D003
               47  HPOSM0	EQU	$D004
               48  HPOSM1	EQU	$D005
               49  HPOSM2	EQU	$D006
               50  HPOSM3	EQU	$D007
               51  *COLLISIONS
               52  M0PF	EQU	$D000
               53  P0PF	EQU	$D004
               54  P1PF	EQU	$D005
               55  P2PF	EQU	$D006
               56  P3PF	EQU	$D007
               57  M0PL	EQU	$D008
               58  M1PL	EQU	$D009
               59  M2PL	EQU	$D00A
               60  P0PL	EQU	$D00C
               61  HITCLR	EQU	$D01E
               62  *MISC EQUATES
               63  SETVBK	EQU	$E45C
               64  XITVBK	EQU	$E462
               65  STICK	EQU	$278
               66  STRIG0	EQU	$284
               67  CONSOL	EQU	$D01F
               68  CHBASE	EQU	$D409
               69  HSCROL	EQU	$D404
               70  WSYNC	EQU	$D40A
               71  RANDOM	EQU	$D20A
               72  COLOR0	EQU	$2C4
               73  COLORI	EQU	$2C5
               74  COLOR4	EQU	$2C8
               75  AUDF1	EQU	$D200		;USE FOR LASER
               76  AUDC1	EQU	$D201
               77  AUDF2	EQU	$D202		;USE FOR EXPLOSIONS ALIENS & TARGETS
               78  AUDC2	EQU	$D203
               79  AUDF3	EQU	$D204		;USE FOR SHIP ENGINE
               80  AUDC3	EQU	$D205
               81  AUDF4	EQU	$D206		;USE FOR SHIP EXPLOSION
               82  AUDC4	EQU	$D207
               83  AUDCTL	EQU	$D208
               84  SKCTL	EQU	$D20F
               85  *SCREEN ENCODED DATA
4000 0000      86  VALUE	DB	$00,$00				;ROW 0
4002 0000      87  	DB	$00,$00				;ROW 1
4004 0000      88  	DB	$00,$00				;ROW 2
4006 0000      89  	DB	$00,$00				;ROW 3
4008 0000      90  	DB	$00,$00				;ROW 4
400A 0000      91  	DB	$00,$00				;ROW 5
400C 0000      92  	DB	$00,$00				;ROW 6
400E 0000      93  	DB	$00,$00				;ROW 7
4010 0000      94  	DB	$00,$00				;ROW 8
4012 0000      95  	DB	$00,$00				;ROW 9
4014 0000      96  	DB	$00,$00				;ROW 10
4016 0000      97  	DB	$00,$00				;ROW 11
4018 0000      98  	DB	$00,$00				;ROW 12
401A 000304    99  	DB	$00,$03,$04,$01,$07,$08,$00	;ROW 13
4021 000401   100  	DB	$00,$04,$01,$09,$00		;ROW 14
4026 000302   101  	DB	$00,$03,$02,$01,$0A,$00,$04,$01	;ROW 15
402E 0900     102  	DB	$09,$00
4030 000407   103  	DB	$00,$04,$07,$08,$00,$03,$02,$0A	;ROW 16
4038 000302   104  	DB	$00,$03,$02,$01,$0B,$00,$04,$01
4040 090004   105  	DB	$09,$00,$04,$0A,$05,$0A,$00
4047 000401   106  	DB	$00,$04,$01,$09,$00,$05,$01,$0B	;ROW 17
404F 000401   107  	DB	$00,$04,$01,$0A,$00,$04,$09,$00
4057 050109   108  	DB	$05,$01,$09,$00,$03,$02,$0A,$00
405F 04010B   109  	DB	$04,$01,$0B,$06,$0B,$00
4065 000501   110  	DB	$00,$05,$01,$09,$00,$06,$01,$07	;ROW 18
406D 080004   111  	DB	$08,$00,$04,$01,$0B,$00,$03,$02
4075 010900   112  	DB	$01,$09,$00,$06,$01,$0A,$00,$05
407D 010B04   113  	DB	$01,$0B,$04,$01,$0A,$00
4083 000601   114  	DB	$00,$06,$01,$09,$00,$04,$01,$09	;ROW 19
408B 000107   115  	DB	$00,$01,$07,$08,$00,$03,$02,$01
4093 090004   116  	DB	$09,$00,$04,$01,$0B,$00,$06,$01
409B 0B00     117  	DB	$0B,$00
409D 000302   118  	DB	$00,$03,$02,$09,$00,$03,$02,$0A	;ROW 20
40A5 000401   119  	DB	$00,$04,$01,$07,$08,$00,$03,$02
40AD 010900   120  	DB	$01,$09,$00,$03,$02,$07,$08,$00
40B5 0C0109   121  	DB	$0C,$01,$09,$00,$04,$01,$0A,$00
40BD 030201   122  	DB	$03,$02,$01,$0A,$00,$05,$01,$07
40C5 080003   123  	DB	$08,$00,$03,$02,$09,$00
40CB 000401   124  	DB	$00,$04,$01,$09,$00,$04,$01,$0B	;ROW 21
40D3 000501   125  	DB	$00,$05,$01,$09,$00,$04,$01,$00
40DB 0C0109   126  	DB	$0C,$01,$09,$00,$04,$01,$0B,$00
40E3 05010B   127  	DB	$05,$01,$0B,$00,$06,$01,$0A,$00
40EB 040904   128  	DB	$04,$09,$04,$09,$00,$04,$01,$09
40F3 000302   129  	DB	$00,$03,$02,$01,$07,$08,$00,$04	;ROW 22
40FB 010708   130  	DB	$01,$07,$08,$00,$04,$01,$00,$04
4103 010900   131  	DB	$01,$09,$00,$04,$01,$07,$08,$00
410B 06010B   132  	DB	$06,$01,$0B,$04,$01,$09,$00,$03
4113 0201     133  	DB	$02,$01
4115 0101     134  	DB	$01,$01				;ROW 23
4117 000000   135  	DS	$E9
4200 FF01     136  BLOCKS	DB	$FF,$01				;ROW 0
4202 FF01     137  	DB	$FF,$01				;ROW 1
4204 FF01     138  	DB	$FF,$01				;ROW 2
4206 FF01     139  	DB	$FF,$01				;ROW 3
4208 FF01     140  	DB	$FF,$01				;ROW 4
420A FF01     141  	DB	$FF,$01				;ROW 5
420C FF01     142  	DB	$FF,$01				;ROW 6
420E FF01     143  	DB	$FF,$01				;ROW 7
4210 FF01     144  	DB	$FF,$01				;ROW 8
4212 FF01     145  	DB	$FF,$01				;ROW 9
4214 FF01     146  	DB	$FF,$01				;ROW 10
4216 FF01     147  	DB	$FF,$01				;ROW 11
4218 FF01     148  	DB	$FF,$01				;ROW 12
421A B70101   149  	DB	$B7,$01,$01,$05,$01,$01,$40	;ROW 13
4221 B60109   150  	DB	$B6,$01,$09,$01,$3F		;ROW 14
4226 770101   151  	DB	$77,$01,$01,$07,$01,$34,$01,$0B	;ROW 15
422E 013E     152  	DB	$01,$3E
4230 300101   153  	DB	$30,$01,$01,$01,$0F,$01,$01,$01	;ROW 16
4238 2E0101   154  	DB	$2E,$01,$01,$0B,$01,$33,$01,$0D
4240 011901   155  	DB	$01,$19,$01,$01,$01,$01,$20
4247 2F0103   156  	DB	$2F,$01,$03,$01,$0D,$01,$02,$01	;ROW 17
424F 2D010E   157  	DB	$2D,$01,$0E,$01,$0E,$01,$01,$21
4257 010F01   158  	DB	$01,$0F,$01,$13,$01,$01,$01,$01
425F 010101   159  	DB	$01,$01,$01,$01,$01,$20
4265 2E0105   160  	DB	$2E,$01,$05,$01,$0C,$01,$03,$01	;ROW 18
426D 012901   161  	DB	$01,$29,$01,$10,$01,$0C,$01,$01
4275 020120   162  	DB	$02,$01,$20,$01,$10,$01,$11,$01
427D 020101   163  	DB	$02,$01,$01,$05,$01,$1F
4283 2E0106   164  	DB	$2E,$01,$06,$01,$0A,$01,$06,$01	;ROW 19
428B 281201   165  	DB	$28,$12,$01,$01,$08,$01,$01,$05
4293 011701   166  	DB	$01,$17,$01,$18,$01,$11,$01,$09
429B 011F     167  	DB	$01,$1F
429D 100101   168  	DB	$10,$01,$01,$01,$0C,$01,$01,$01	;ROW 20
42A5 0B0108   169  	DB	$0B,$01,$08,$01,$01,$04,$01,$01
42AD 0A011B   170  	DB	$0A,$01,$1B,$01,$01,$01,$01,$08
42B5 012301   171  	DB	$01,$23,$01,$15,$01,$1A,$01,$08
42BD 010102   172  	DB	$01,$01,$02,$01,$02,$01,$0B,$01
42C5 011901   173  	DB	$01,$19,$01,$01,$01,$01
42CB 0F0103   174  	DB	$0F,$01,$03,$01,$0A,$01,$02,$01	;ROW 21
42D3 0A011C   175  	DB	$0A,$01,$1C,$01,$19,$01,$04,$0B
42DB 012101   176  	DB	$01,$21,$01,$0C,$01,$22,$01,$07
42E3 010401   177  	DB	$01,$04,$01,$02,$01,$0D,$01,$01
42EB 010101   178  	DB	$01,$01,$01,$01,$12,$01,$03,$01
42F3 0D0101   179  	DB	$0D,$01,$01,$05,$01,$01,$07,$01	;ROW 22
42FB 3A0101   180  	DB	$3A,$01,$01,$08,$01,$05,$0B,$01
4303 280104   181  	DB	$28,$01,$04,$01,$24,$01,$01,$05
430B 011501   182  	DB	$01,$15,$01,$01,$04,$01,$0F,$01
4313 0105     183  	DB	$01,$05
4315 FF01     184  	DB	$FF,$01				;ROW 23
4317 000000   185  	DS	$E9
              186  *CHARACTER SET 512 BYTES LONG
4400 000000   187  SETCHAR	DB	$00,$00,$00,$00,$00,$00,$00,$00
4408 FFFFFF   188  	DB	$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
4410 030F3F   189  	DB	$03,$0F,$3F,$FF,$FF,$FF,$FF,$FF
4418 000000   190  	DB	$00,$00,$00,$00,$03,$0F,$3F,$FF
4420 010307   191  	DB	$01,$03,$07,$0F,$1F,$3F,$7F,$FF
4428 010103   192  	DB	$01,$01,$03,$03,$07,$07,$0F,$0F	;#5
4430 1F1F3F   193  	DB	$1F,$1F,$3F,$3F,$7F,$7F,$FF,$FF
4438 C0F0FC   194  	DB	$C0,$F0,$FC,$FF,$FF,$FF,$FF,$FF
4440 000000   195  	DB	$00,$00,$00,$00,$C0,$F0,$FC,$FF
4448 80C0E0   196  	DB	$80,$C0,$E0,$F0,$F8,$FC,$FE,$FF
4450 8080C0   197  	DB	$80,$80,$C0,$C0,$E0,$E0,$F0,$F0	;#10
4458 F8F8FC   198  	DB	$F8,$F8,$FC,$FC,$FE,$FE,$FF,$FF
4460 FF7F3F   199  	DB	$FF,$7F,$3F,$1F,$0F,$07,$03,$01
4468 000000   200  	DS	$98
4500 80C167   201  	DB	$80,$C1,$67,$3F,$1F,$1F,$3F,$3F	;#32
4508 00C0F0   202  	DB	$00,$C0,$F0,$F8,$F8,$FC,$FC,$FE
4510 804020   203  	DB	$80,$40,$20,$10,$08,$04,$02,$01
4518 3C3C3C   204  	DB	$3C,$3C,$3C,$3C,$7E,$7E,$FF,$C3
4520 181818   205  	DB	$18,$18,$18,$18,$18,$18,$3C,$3C
4528 003E60   206  	DB	$00,$3E,$60,$60,$6E,$66,$3E,$00	;G
4530 00183C   207  	DB	$00,$18,$3C,$66,$66,$7E,$66,$00	;A
4538 006377   208  	DB	$00,$63,$77,$7F,$6B,$63,$63,$00	;M
4540 007E60   209  	DB	$00,$7E,$60,$7C,$60,$60,$7E,$00	;E
4548 003C66   210  	DB	$00,$3C,$66,$66,$66,$66,$3C,$00	;0
4550 006666   211  	DB	$00,$66,$66,$66,$66,$3C,$18,$00	;V
4558 007C66   212  	DB	$00,$7C,$66,$66,$7C,$6C,$66,$00	;R
4560 000000   213  	DS	$A0
              214  *PLAYER#1 PROGRAMABLE BLOCK
4600 D05030   215  ENEMY1	DB	$D0,$50,$30			;X,Y,DELAY
4603 2800FF   216  	DB	$28,$00,$FF,$00,$00,$00		;SHAPE#0
4609 5000FF   217  	DB	$50,$00,$FF,$01,$00,$00
460F 7000FF   218  	DB	$70,$00,$FF,$00,$01,$07
4615 FF00FF   219  	DB	$FF,$00,$FF,$00,$00,$00
461B 000000   220  	DB	$00,$00,$00,$00,$00,$00
4621 000000   221  	DB	$00,$00,$00,$00,$00,$00
4627 000000   222  	DB	$00,$00,$00,$00,$00,$00
462D 000000   223  	DB	$00,$00,$00,$00,$00,$00
4633 D07540   224  	DB	$D0,$75,$40			;SHAPE#1
4636 3000FF   225  	DB	$30,$00,$FF,$FF,$00,$00
463C 550000   226  	DB	$55,$00,$00,$01,$00,$00
4642 6500FF   227  	DB	$65,$00,$FF,$FF,$00,$00
4648 7500FF   228  	DB	$75,$00,$FF,$FF,$01,$06
464E 8000FF   229  	DB	$80,$00,$FF,$01,$01,$05
4654 9800FF   230  	DB	$98,$00,$FF,$FF,$00,$00
465A FF0000   231  	DB	$FF,$00,$00,$FF,$01,$03
4660 000000   232  	DB	$00,$00,$00,$00,$00,$00
4666 503225   233  	DB	$50,$32,$25			;SHAPE#2
4669 150001   234  	DB	$15,$00,$01,$01,$00,$00
466F 300001   235  	DB	$30,$00,$01,$01,$01,$05
4675 400001   236  	DB	$40,$00,$01,$00,$01,$06
467B 530001   237  	DB	$53,$00,$01,$00,$00,$00
4681 700001   238  	DB	$70,$00,$01,$FF,$00,$00
4687 8000FF   239  	DB	$80,$00,$FF,$00,$00,$00
468D A800FF   240  	DB	$A8,$00,$FF,$01,$01,$05
4693 FF01FF   241  	DB	$FF,$01,$FF,$00,$01,$03
4699 D07035   242  	DB	$D0,$70,$35			;SHAPE#3
469C 2000FF   243  	DB	$20,$00,$FF,$FF,$00,$00
46A2 4000FF   244  	DB	$40,$00,$FF,$01,$00,$00
46A8 6000FF   245  	DB	$60,$00,$FF,$FF,$01,$06
46AE 8000FF   246  	DB	$80,$00,$FF,$FF,$01,$06
46B4 9800FF   247  	DB	$98,$00,$FF,$01,$01,$07
46BA FF00FF   248  	DB	$FF,$00,$FF,$FF,$01,$01
46C0 000000   249  	DB	$00,$00,$00,$00,$00,$00
46C6 000000   250  	DB	$00,$00,$00,$00,$00,$00
46CC D06515   251  	DB	$D0,$65,$15			;SHAPE#4
46CF 2500FF   252  	DB	$25,$00,$FF,$00,$00,$00
46D5 4000FF   253  	DB	$40,$00,$FF,$01,$00,$00
46DB 6000FF   254  	DB	$60,$00,$FF,$FF,$01,$06
46E1 800000   255  	DB	$80,$00,$00,$FF,$01,$06
46E7 A000FF   256  	DB	$A0,$00,$FF,$01,$01,$05
46ED FF00FF   257  	DB	$FF,$00,$FF,$00,$01,$01
46F3 000000   258  	DB	$00,$00,$00,$00,$00,$00
46F9 000000   259  	DB	$00,$00,$00,$00,$00,$00,$00
4700 D04050   260  ENEMY2	DB	$D0,$40,$50			;X,Y,DELAY
4703 3800FF   261  	DB	$38,$00,$FF,$01,$00,$00		;SHAPE#0
4709 5000FE   262  	DB	$50,$00,$FE,$FF,$01,$06
470F 6800FF   263  	DB	$68,$00,$FF,$FF,$00,$00
4715 7800FF   264  	DB	$78,$00,$FF,$01,$00,$00
471B 9000FF   265  	DB	$90,$00,$FF,$00,$01,$03
4721 FF00FF   266  	DB	$FF,$00,$FF,$00,$00,$00
4727 000000   267  	DB	$00,$00,$00,$00,$00,$00
472D 000000   268  	DB	$00,$00,$00,$00,$00,$00
4733 D03520   269  	DB	$D0,$35,$20			;SHAPE#1
4736 1800FF   270  	DB	$18,$00,$FF,$01,$00,$00
473C 3000FF   271  	DB	$30,$00,$FF,$FF,$00,$00
4742 4000FF   272  	DB	$40,$00,$FF,$00,$00,$00
4748 6000FF   273  	DB	$60,$00,$FF,$01,$01,$06
474E 700001   274  	DB	$70,$00,$01,$00,$01,$07
4754 8000FF   275  	DB	$80,$00,$FF,$FF,$01,$07
475A FF00FF   276  	DB	$FF,$00,$FF,$01,$01,$03
4760 000000   277  	DB	$00,$00,$00,$00,$00,$00
4766 D08020   278  	DB	$D0,$80,$20			;SHAPE#2
4769 3000FF   279  	DB	$30,$00,$FF,$00,$00,$00
476F 5000FF   280  	DB	$50,$00,$FF,$FF,$00,$00
4775 6000FF   281  	DB	$60,$00,$FF,$FF,$01,$07
477B 7800FF   282  	DB	$78,$00,$FF,$01,$01,$05
4781 FF00FF   283  	DB	$FF,$00,$FF,$FF,$01,$03
4787 000000   284  	DB	$00,$00,$00,$00,$00,$00
478D 000000   285  	DB	$00,$00,$00,$00,$00,$00
4793 000000   286  	DB	$00,$00,$00,$00,$00,$00
4799 D05520   287  	DB	$D0,$55,$20			;SHAPE#3
479C 1500FF   288  	DB	$15,$00,$FF,$01,$00,$00
47A2 3500FE   289  	DB	$35,$00,$FE,$00,$00,$00
47A8 450001   290  	DB	$45,$00,$01,$FF,$00,$00
47AE 550000   291  	DB	$55,$00,$00,$FF,$01,$06
47B4 7000FF   292  	DB	$70,$00,$FF,$00,$00,$00
47BA 9500FF   293  	DB	$95,$00,$FF,$00,$01,$05
47C0 FF00FF   294  	DB	$FF,$00,$FF,$00,$01,$03
47C6 000000   295  	DB	$00,$00,$00,$00,$00,$00
47CC D06520   296  	DB	$D0,$65,$20			;SHAPE#4
47CF 2000FF   297  	DB	$20,$00,$FF,$00,$00,$00
47D5 3800FF   298  	DB	$38,$00,$FF,$FF,$00,$00
47DB 5000FF   299  	DB	$50,$00,$FF,$01,$01,$06
47E1 6800FF   300  	DB	$68,$00,$FF,$00,$01,$05
47E7 7800FF   301  	DB	$78,$00,$FF,$FF,$01,$03
47ED FF00FF   302  	DB	$FF,$00,$FF,$01,$00,$00
47F3 000000   303  	DB	$00,$00,$00,$00,$00,$00
47F9 000000   304  	DB	$00,$00,$00,$00,$00,$00,$00
4800 707070   305  DLIST	DB	$70,$70,$70,$46,$00,$69,$86,$56
4808 007256   306  	DB	$00,$72,$56,$00,$73,$56,$00,$74
4810 560075   307  	DB	$56,$00,$75,$56,$00,$76,$56,$00
4818 775600   308  	DB	$77,$56,$00,$78,$56,$00,$79,$56
4820 007A56   309  	DB	$00,$7A,$56,$00,$7B,$56,$00,$7C
4828 56007D   310  	DB	$56,$00,$7D,$56,$00,$7E,$56,$00
4830 7F5600   311  	DB	$7F,$56,$00,$80,$56,$00,$81,$56
4838 008256   312  	DB	$00,$82,$56,$00,$83,$56,$00,$84
4840 560085   313  	DB	$56,$00,$85,$56,$00,$86,$56,$00
4848 874100   314  	DB	$87,$41,$00,$94
484C 8080C0   315  SHIP	DB	$80,$80,$C0,$FC,$F6,$7F,$7E,$00
4854 3C3C3C   316  ALIEN	DB	$3C,$3C,$3C,$7E,$DB,$DB,$DB,$DB
485C 81423C   317  	DB	$81,$42,$3C,$3C,$3C,$3C,$42,$81
4864 3C3C18   318  	DB	$3C,$3C,$18,$18,$99,$FF,$C3,$81
486C 917E46   319  	DB	$91,$7E,$46,$C2,$43,$62,$7E,$89
4874 00003C   320  	DB	$00,$00,$3C,$7E,$FF,$7E,$3C,$00
487C 545C64   321  ALIENPT	DB	$54,$5C,$64,$6C,$74
4881 003366   322  E1PT	DB	$00,$33,$66,$99,$CC
4886 003366   323  E2PT	DB	$00,$33,$66,$99,$CC
488B 03000C   324  MSHAPE	DB	$03,$00,$0C,$0C,$30,$30,$C0,$C0	;4 MISSILES EACH TWO HIGH
4893 8B8D8F   325  MISL0	DB	$8B,$8D,$8F,$91
4897 F83EF8   326  BOMBSH	DB	$F8,$3E,$F8,$00,$00,$00,$00,$00
489F 000101   327  VMX	DB	$00,$01,$01,$01,$00,$FF,$FF,$FF
48A7 FFFF00   328  VMY	DB	$FF,$FF,$00,$01,$01,$01,$00,$FF
48AF 2B4A69   329  MBPOSL	DB	$2B,$4A,$69,$84,$97,$A9,$D3
48B6 848485   330  MBPOSH	DB	$84,$84,$85,$82,$84,$83,$84
              331  *TITLE	AT	STRIKE FORCE
              332  
48BD 000000   333  TITLE	DB	0,0,0,0,$33,$34,$32,$29,$2B,$25,0,$26,$2F,$32,$23,$25,0,0,0,0
              334  
              335  
              336  *	AT	'SHIPS 0 SCORE 00000'
              337  
48D1 332829   338  	DB	$33,$28,$29,$30,$33,0,$10,0
48D9 003323   339  	DB	0,$33,$23,$2F,$32,$25,0,$10,$10,$10,$10,$10
              340  
48E5 204259   341  TITLE1	DB	$20,$42,$59,$20,$4A,$45,$46,$46,$52,$45
48EF 592053   342  	DB	$59,$20,$53,$54,$41,$4E,$54,$4F,$4E,$20
48F9 000000   343  	DS	7
4900 656667   344  GOVER	DB	$65,$66,$67,$68,$00,$69,$6A,$68,$6B	;GAME OVER
              345  *VARIABLES
4909 00       346  XPM0	DS	1		;ACTUAL X POS ON SCREEN
490A 00       347  YPM0	DS	1		;ACTUAL Y POS ON SCREEN
490B 00       348  XPL	DS	1		;SHIP POS IN WORLD 0-1060
490C 00       349  XPH	DS	1
490D 00       350  XS	DS	1		;BACKGROUND AT LEFT EDGE
490E 00       351  FS	DB	0		;FINE SCROLL REG
490F 00       352  YMISO0	DS	1		;OLD Y VALUE FOR MISSILE #0
4910 00       353  YMISO1	DS	1
4911 00       354  YMISO2	DS	1
4912 00       355  INDEX1	DS	1		;USED FOR TEMP STORAGE
4913 00       356  INDEX2	DS	1
4914 00       357  COUNT	DB	0		;COUNTER DURING DATA UNPACK
4915 00       358  TEMP	DS	1		;TEMP STORAGE
4916 00       359  BACK	DB	0		;STICK BACK FLAG
4917 00       360  SPEED	DS	1		;SHIP SPEED FLAG - FAST OR SLOW
4918 00       361  BOMBON	DS	1		;FLAG SET WHEN BOMB DROPPING
4919 0000     362  VBFLAG	DW	0		;FLAG ON UPON ENTERING VBLANK
491B 00       363  XSP	DS	1		;BACKGROUND AT SHIP
491C 00       364  ONSCR1	DB	0		;ALIEN SHIP ON SCREEN FLAG
491D 00       365  ONSCR2	DB	0
491E 28       366  TDLAY1	DB	40		;CURRENT DELAY BEFORE ALIEN APPEARS
491F 00       367  TDLAY2	DS	1
4920 00       368  NDLAY1	DS	1		;DELAY FOR NEXT ALIEN TO APPEAR
4921 00       369  NDLAY2	DS	1
4922 00       370  TIMR1L	DS	1		;ALIEN SHIP #1 TIMER
4923 00       371  TIMR1H	DS	1
4924 00       372  TIMR2L	DS	1		;ALIEN SHIP #2 TIMER
4925 00       373  TIMR2H	DS	1
4926 00       374  TIME1L	DS	1		;WHEN TO READ NEXT ALIEN#1 INSTRUCTION
4927 00       375  TIME2L	DS	1
4928 00       376  TIME1H	DS	1
4929 00       377  TIME2H	DS	1
492A 00       378  TMIS0	DS	1
492B 00       379  TMIS1	DS	1		;ALIEN #1 MISSILE TIMER
492C 00       380  TMIS2	DS	1
492D 00       381  VX0	DS	1
492E 00       382  VX1	DS	1		;VELOCITY ALIEN #1
492F 00       383  VX2	DS	1
4930 00       384  VX3	DS	1		;VELOCITY BOMB
4931 00       385  VY0	DS	1
4932 00       386  VY1	DS	1		;VELOCITY ALIEN #1
4933 00       387  VY2	DS	1
4934 00       388  VY3	DS	1		;VELOCITY BOMB
4935 00       389  VTEMP	DS	1
4936 00       390  ACCEL	DS	1		;BOMB ACCELERATION
4937 00       391  X0	DS	1
4938 00       392  X1	DS	1		;ALIEN #1 POSITION
4939 00       393  X2	DS	1
493A 00       394  X3	DS	1		;HORIZ POSITION BOMB
493B 00       395  Y0	DS	1
493C 00       396  Y1	DS	1		;ALIEN #1 POSITION
493D 00       397  Y2	DS	1
493E 00       398  Y3	DS	1		;VERT POSITION BOMB
493F 00       399  X0M	DS	1		;HORIZ MISSILE #0 POSITION
4940 00       400  X1M	DS	1
4941 00       401  X2M	DS	1
4942 00       402  Y0M	DS	1		;VERT MISSILE #0 POSITION
4943 00       403  Y1M	DS	1
4944 00       404  Y2M	DS	1
4945 00       405  SHOOT0	DS	1
4946 00       406  SHOOT1	DS	1		;FLAG FOR ALIEN #1 TO SHOOT
4947 00       407  SHOOT2	DS	1
4948 000000   408  TEMPL	DS	4		;TEMP STORAGE DURING PLOTTING
494C 000000   409  TEMPH	DS	4
4950 00       410  DIR0	DS	1
4951 00       411  DIR1	DS	1		;DIRECTION TO SHOOT ALIEN #1
4952 00       412  DIR2	DS	1
4953 00       413  MDIR0	DS	1
4954 00       414  MDIR1	DS	1		;TEMP STORAGE DURING MISSILE TRACK
4955 00       415  MDIR2	DS	1
4956 00       416  MASK	DS	1		;MISSILE #0 MASK
4957 FC       417  MASK0	DB	$FC		;MISSILE #0 14ASK
4958 F3       418  MASK1	DB	$F3
4959 CF       419  MASK2	DB	$CF
495A 000000   420  LASON	DS	4		;LASER ON FLAG
495E 000000   421  LPOSL	DS	4		;ACTUAL SCREEN POSITION OF LASER -LO
4962 000000   422  LPOSH	DS	4
4966 000000   423  LDELAY	DS	4		;DELAY UNTIL LASER BASE REFIRES
496A 000000   424  LCOUNT	DS	4		;DELAY BETWEEN MOVEMENT OF LASER BEAM
496E 000000   425  GALIVE	DS	4		;LASER BASE ON FLAG
4972 000000   426  YG	DS	4		;LASER BASE Y POSITION
4976 000000   427  XG	DS	4		;LASER BASE X POSITION
497A 00       428  SR10	DS	1		;SCORE 10'S DIGIT
497B 00       429  SR100	DS	1
497C 00       430  SR1000	DS	1
497D 00       431  SR10T	DS	1
497E 00       432  HSR10	DS	1		;HIGH SCORE 10'S DIGIT
497F 00       433  HSR100	DS	1
4980 00       434  HSR1K	DS	1
4981 00       435  HSR10T	DS	1
4982 00       436  DELAY	DS	1		;DELAY FLAG ON WHEN SHIP EXPLODES
4983 00       437  SHIPNUM	DS	1		;NUMBER OF SHIPS
4984 00       438  BTARGET	DS	1		;PLAYFIELD POSITION OF BOMB
4985 00       439  STRIKE	DS	1		;COUNTER FOR TARGET HIT
4986 00       440  MBCOUNT	DS	1		;# MISSILE BASES HIT
4987 00       441  LUCK	DS	1		;RANDOM # 0-4
4988 00       442  RDSHP1	DS	1		;RANDOM SHAPE # ALIEN #1
4989 00       443  RDSHP2	DS	1
498A 00       444  POS	DS	1		;HORIZ BOMB POSITION
498B 00       445  T	DS	1		;FLAG FOR WHICH PART OF TITLE IS ON SCREEN
498C 00       446  OVER	DS	1		;OFFSET TO WHERE GAME OVER TITLE IS WRITTEN
498D 04       447  DELAY1	DB	$04
498E 00       448  SLTIM	DS	1		;COUNTDOWN TIMER FOR LASER SOUND
498F 00       449  SLTIM1	DS	1
4990 00       450  SETIME	DS	1		;COUNTDOWN TIMER FOR EXPLOSION
4991 00       451  SEXTIME	DS	1		;COUNTDOWN TIMER FOR SHIP EXPLOSION
4992 00       452  REZFLAG	DS	1		;DEREZ ON FLAG
4993 00       453  EXCOUNT	DS	1		;COUNTER DURING DEREZ
4994 00       454  MEDIUM	DS	1		;PLAY MEDIUM DIFFICULTY FLAG
4995 00       455  HARD	DS	1		;PLAY HARD DIFFICULTY
4996 000000   456  DEREZ	DS	8		;DUMMY AREA FOR SHUP DURING DEREZ
              457  ***	IN "D:SCROLL1B"
              458  *PART 2 OF SCROLLING GAME
              459  *ZERO HIGH SCORE & SCORE
499E A910     460  	LDA	#$10		;SCORES ARE OFFSET BY #$10 TO MATCH CHARACTER SET
49A0 8D7A49   461  	STA	SR10
49A3 8D7B49   462  	STA	SR100
49A6 8D7C49   463  	STA	SR1000
49A9 8D7D49   464  	STA	SR10T
49AC 8D7E49   465  	STA	HSR10
49AF 8D7F49   466  	STA	HSR100
49B2 8D8049   467  	STA	HSR1K
49B5 8D8149   468  	STA	HSR10T
              469  *SET SYSTEM RESET VECTOR
49B8 A949     470  	LDA	#<START
49BA 8503     471  	STA	$03
49BC A9C7     472  	LDA	#START
49BE 8502     473  	STA	$02
49C0 A902     474  	LDA	#$02		;TELLS SYS RESET A CASSETTE
49C2 8509     475  	STA	$09
49C4 4C74E4   476  	JMP	$E474		;SYSTEM RESET VECTOR
              477  *PART 2 OF SCROLLING GAME
              478  *TERRAIN GENERATOR ROUTINE
49C7 A970     479  START	LDA	#$70		;SCREEN AT $7000
49C9 85F7     480  	STA	GROUNH
49CB A900     481  	LDA	#$00
49CD 85F6     482  	STA	GROUNL
49CF A940     483  	LDA	#<VALUE
49D1 85F9     484  	STA	VALUEH
49D3 A900     485  	LDA	#VALUE
49D5 85F8     486  	STA	VALUEL
49D7 A942     487  	LDA	#<BLOCKS
49D9 85FB     488  	STA	BLOCKH
49DB A900     489  	LDA	#BLOCKS
49DD 85FA     490  	STA	BLOCKL
49DF A900     491  	LDA	#$00
49E1 8D1449   492  	STA	COUNT
49E4 A000     493  	LDY	#$00
49E6 B1FA     494  LOOP	LDA	(BLOCKL),Y	;#BLOCKS IN AROW
49E8 AA       495  	TAX			;USE AS COUNTER
49E9 B1F8     496  	LDA	(VALUEL),Y	;LOAD BLOCK VALUE
49EB 48       497  	PHA
49EC 98       498  	TYA
49ED 8D1549   499  	STA	TEMP		;SAVE Y REGISTER
49F0 AC1449   500  	LDY	COUNT		;BYTE COUNTER FOR ROW
49F3 68       501  	PLA
49F4 91F6     502  AA1	STA	(GROUNL),Y	;STORE ON SCREEN MAP
49F6 C8       503  	INY			;FOR NEXT LOCATION
49F7 CA       504  	DEX
49F8 D0FA     505  	BNE	AA1		;LOOP TILL DONE WITH # BLOCKS IN AROW
49FA 98       506  	TYA
49FB 8D1449   507  	STA	COUNT
49FE C000     508  	CPY	#$00		;END OF ROW?
4A00 D008     509  	BNE	AA2
4A02 E6F7     510  	INC	GROUNH		;NEXT ROW
4A04 A5F7     511  	LDA	GROUNH
4A06 C988     512  	CMP	#$88		;DONE WITH ALL 22 ROWS
4A08 B00F     513  	BGE	DONE
4A0A AC1549   514  AA2	LDY	TEMP		;RESTORE INDEX
4A0D C8       515  	INY			;UP INDEX FOR VALUES IN TABLES
4A0E C000     516  	CPY	#$00		;CROSSED PAGE?
4A10 D0D4     517  	BNE	LOOP
4A12 E6F9     518  	INC	VALUEH		;YES NEXT PAGE
4A14 E6FB     519  	INC	BLOCKH
4A16 4CE649   520  	JMP	LOOP
4A19 EA       521  DONE	NOP
              522  *SETUP DLIST
4A1A A200     523  	LDX	#$00
4A1C BD0048   524  DLOOP	LDA	DLIST,X
4A1F 9D0094   525  	STA	NDLIST,X
4A22 E8       526  	INX
4A23 E04C     527  	CPX	#$4C		;76 ELEMENTS
4A25 D0F5     528  	BNE	DLOOP
4A27 A900     529  	LDA	#NDLIST
4A29 8D3002   530  	STA	560
4A2C A994     531  	LDA	#<NDLIST
4A2E 8D3102   532  	STA	561
              533  *INITILIZE SHIP
4A31 A988     534  	LDA	#$88
4A33 8D07D4   535  	STA	PMBASE
4A36 A919     536  	LDA	#$19		;9 SHIPS
4A38 8D8349   537  	STA	SHIPNUM
4A3B A903     538  	LDA	#$03		;SET P/M GRAPHICS
4A3D 8D1DD0   539  	STA	GRACTL
4A40 A93E     540  	LDA	#$3E		;ENABLE P/M DMA SINGLE LINE
4A42 8D2F02   541  	STA	DMACTL
4A45 A901     542  	LDA	#$01		;DOUBLE WIDTH
4A47 8D08D0   543  	STA	SIZEP0
4A4A A97A     544  	LDA	#$7A		;PLAYER #0 122 BLUE-LUM 10
4A4C 8DC002   545  	STA	PCOLR0
4A4F A900     546  	LDA	#$00		;INITIAL SCREEN LEFT
4A51 8D0D49   547  	STA	XS
4A54 A950     548  	LDA	#$50		;INITIAL POS SHIP X-80
4A56 8D0949   549  	STA	XPM0
4A59 8D00D0   550  	STA	HPOSP0		;TELL ANTIC
4A5C A960     551  	LDA	#$60		;INITIAL POS SHIP Y=96
4A5E 8D0A49   552  	STA	YPM0
4A61 A988     553  	LDA	#<PDATA
4A63 18       554  	CLC
4A64 6904     555  	ADC	#$04
4A66 85F5     556  	STA	SHPM0H
              557  *OTHER P/M CONSTANTS
4A68 A9C6     558  	LDA	#$C6		;GREEN ALIEN
4A6A 8DC102   559  	STA	PCOLR1
4A6D A944     560  	LDA	#$44		;RED ALIEN
4A6F 8DC202   561  	STA	PCOLR2
4A72 A97A     562  	LDA	#$7A		;BLUE BOMB
4A74 8DC302   563  	STA	PCOLR3
4A77 A9E8     564  	LDA	#$E8		;INITIAL POSITIONS OF ALIENS
4A79 8D01D0   565  	STA	HPOSP1
4A7C 8D02D0   566  	STA	HPOSP2
4A7F A903     567  	LDA	#$03		;MISSILE 0 QUADRUPLE-REST NORMAL
4A81 8D0CD0   568  	STA	SIZEM
              569  *CLEAR P/M AREA
4A84 A900     570  	LDA	#$00		;PDATAL
4A86 85FC     571  	STA	PMADR
4A88 A988     572  	LDA	#<PDATA
4A8A 85FD     573  	STA	PMADR+1
4A8C A000     574  	LDY	#$00
4A8E 98       575  	TYA
4A8F A208     576  	LDX	#$08
4A91 91FC     577  AB1	STA	(PMADR),Y
4A93 C8       578  	INY
4A94 D0FB     579  	BNE	AB1
4A96 E6FD     580  	INC	PMADR+1		;NEXT 256 BYTES
4A98 CA       581  	DEX
4A99 D0F6     582  	BNE	AB1
              583  *PUT CHARACTER SET IN POSITION
4A9B A900     584  MC	LDA	#$00
4A9D 85FE     585  	STA	CHADR
4A9F 85FC     586  	STA	CHSET
4AA1 A990     587  	LDA	#<CHRSET
4AA3 85FF     588  	STA	CHADR+1
4AA5 A944     589  	LDA	#<SETCHAR
4AA7 85FD     590  	STA	CHSET+1
4AA9 A202     591  	LDX	#$02
4AAB A000     592  	LDY	#$00
4AAD B1FC     593  AC1	LDA	(CHSET),Y
4AAF 91FE     594  	STA	(CHADR),Y
4AB1 C8       595  	INY
4AB2 D0F9     596  	BNE	AC1
4AB4 E6FD     597  	INC	CHSET+1
4AB6 E6FF     598  	INC	CHADR+1
4AB8 CA       599  	DEX
4AB9 D0F2     600  	BNE	AC1
              601  *SETUP LASER BASES
4ABB A93E     602  	LDA	#$3E
4ABD 8D7649   603  	STA	XG
4AC0 A913     604  	LDA	#$13
4AC2 8D7249   605  	STA	YG
4AC5 A971     606  	LDA	#$71
4AC7 8D7749   607  	STA	XG+1
4ACA A916     608  	LDA	#$16
4ACC 8D7349   609  	STA	YG+1
4ACF A99E     610  	LDA	#$9E
4AD1 8D7849   611  	STA	XG+2
4AD4 A916     612  	LDA	#$16
4AD6 8D7449   613  	STA	YG+2
4AD9 A9CB     614  	LDA	#$CB
4ADB 8D7949   615  	STA	XG+3
4ADE A916     616  	LDA	#$16
4AE0 8D7549   617  	STA	YG+3
4AE3 A900     618  	LDA	#$00
4AE5 8D5A49   619  	STA	LASON
4AE8 8D5B49   620  	STA	LASON+1
4AEB 8D5C49   621  	STA	LASON+2
4AEE 8D5D49   622  	STA	LASON+3
4AF1 A901     623  	LDA	#$01		;LASERS SET ALIVE
4AF3 8D6E49   624  	STA	GALIVE
4AF6 8D6F49   625  	STA	GALIVE+1
4AF9 8D7049   626  	STA	GALIVE+2
4AFC 8D7149   627  	STA	GALIVE+3
              628  *SETUP COLOR REGISTERS
4AFF A900     629  	LDA	#$00		;BACKGROUND BLACK
4B01 8DC802   630  	STA	COLOR4
4B04 A924     631  	LDA	#$24		;TAN FOR PLAYFIELD#0
4B06 8DC402   632  	STA	COLOR0
4B09 A946     633  	LDA	#$46		;LT RED FOR PLAYFIELD #1
4B0B 8DC502   634  	STA	COLORI
              635  *MISC
4B0E A908     636  	LDA	#$08		;SET FINE SCROLL HI SO SCREEN LEFT EDGE
4B10 8D04D4   637  	STA	HSCROL
4B13 A900     638  	LDA	#$00
4B15 8D8E49   639  	STA	SLTIM
4B18 8D8F49   640  	STA	SLTIM1
4B1B 8D9049   641  	STA	SETIME
4B1E 8D9249   642  	STA	REZFLAG
4B21 8D9349   643  	STA	EXCOUNT
4B24 A900     644  	LDA	#$00
4B26 8D05D2   645  	STA	AUDC3
4B29 8D08D2   646  	STA	AUDCTL		;INITILIZE SOUND REGISTERS
4B2C A903     647  	LDA	#$03
4B2E 8D0FD2   648  	STA	SKCTL
4B31 A930     649  	LDA	#$30
4B33 8D1E49   650  	STA	TDLAY1
4B36 A950     651  	LDA	#$50
4B38 8D1F49   652  	STA	TDLAY2
4B3B A900     653  	LDA	#$00
4B3D 8D2A49   654  	STA	TMIS0
4B40 8D2B49   655  	STA	TMIS1
4B43 8D2C49   656  	STA	TMIS2
4B46 8D8249   657  	STA	DELAY
4B49 8D1ED0   658  	STA	HITCLR		;CLEAR COLLISION REGISTERS
4B4C 8D1849   659  	STA	BOMBON		;BOMB OFF
              660  *PUT IN GROUND TARGETS
4B4F A960     661  	LDA	#$60		;LASERS
4B51 8D3E83   662  	STA	$833E
4B54 8D7186   663  	STA	$8671
4B57 8D9E86   664  	STA	$869E
4B5A 8DCB86   665  	STA	$86CB
4B5D A961     666  	LDA	#$61
4B5F 8D3F83   667  	STA	$833F
4B62 8D7286   668  	STA	$8672
4B65 8D9F86   669  	STA	$869F
4B68 8DCC86   670  	STA	$86CC
4B6B 20D656   671  	JSR	MBSUB
4B6E A90A     672  	LDA	#$0A
4B70 8D6649   673  	STA	LDELAY
4B73 8D6749   674  	STA	LDELAY+1
4B76 8D6849   675  	STA	LDELAY+2
4B79 8D6949   676  	STA	LDELAY+3
4B7C A900     677  	LDA	#$00		;INTIALLY EASY
4B7E 8D9449   678  	STA	MEDIUM
4B81 8D9549   679  	STA	HARD
4B84 8D4C46   680  	STA	ENEMY1+$4C
4B87 8D9146   681  	STA	ENEMY1+$91
4B8A 8D9F46   682  	STA	ENEMY1+$9F
4B8D 8DE546   683  	STA	ENEMY1+$E5
4B90 8D1F47   684  	STA	ENEMY2+$1F
4B93 8D4C47   685  	STA	ENEMY2+$4C
4B96 8D7947   686  	STA	ENEMY2+$79
4B99 8DB247   687  	STA	ENEMY2+$B2
4B9C 8DE547   688  	STA	ENEMY2+$E5
4B9F 8D5246   689  	STA	ENEMY1+$52
4BA2 8D5E46   690  	STA	ENEMY1+$5E
4BA5 8D7346   691  	STA	ENEMY1+$73
4BA8 8D9746   692  	STA	ENEMY1+$97
4BAB 8DB246   693  	STA	ENEMY1+$B2
4BAE 8DB846   694  	STA	ENEMY1+$B8
4BB1 8DEB46   695  	STA	ENEMY1+$EB
4BB4 8DF146   696  	STA	ENEMY1+$F1
4BB7 8D5247   697  	STA	ENEMY2+$52
4BBA 8D5847   698  	STA	ENEMY2+$58
4BBD 8D5E47   699  	STA	ENEMY2+$5E
4BC0 8D7F47   700  	STA	ENEMY2+$7F
4BC3 8D8547   701  	STA	ENEMY2+$85
4BC6 8DC447   702  	STA	ENEMY2+$C4
4BC9 8DDF47   703  	STA	ENEMY2+$DF
4BCC 8DEB47   704  	STA	ENEMY2+$EB
              705  *ENABLE DISPLAY LIST INTERRUPT
4BCF A9C0     706  	LDA	#$C0
4BD1 8D0ED4   707  	STA	$D40E
4BD4 A971     708  	LDA	#DLI
4BD6 8D0002   709  	STA	$200
4BD9 A952     710  	LDA	#<DLI
4BDB 8D0102   711  	STA	$201
              712  *PUT TITLE INFO IN PLACE
4BDE A000     713  MKTITLE	LDY	#$00
4BE0 B9BD48   714  AD1	LDA	TITLE,Y
4BE3 990069   715  	STA	INFO,Y
4BE6 C8       716  	INY
4BE7 C01D     717  	CPY	#$1D
4BE9 90F5     718  	BL	AD1
4BEB AD8349   719  	LDA	SHIPNUM
4BEE 8D1A69   720  	STA	INFO+26
4BF1 A933     721  	LDA	#$33		;PRINT 'SCORE'
4BF3 8D1D69   722  	STA	INFO+29
4BF6 A923     723  	LDA	#$23
4BF8 8D1E69   724  	STA	INFO+30
4BFB A92F     725  	LDA	#$2F
4BFD 8D1F69   726  	STA	INFO+31
4C00 A932     727  	LDA	#$32
4C02 8D2069   728  	STA	INFO+32
4C05 A925     729  	LDA	#$25
4C07 8D2169   730  	STA	INFO+33
4C0A A900     731  	LDA	#$00
4C0C 8D2269   732  	STA	INFO+34
4C0F A910     733  	LDA	#$10		;PRINT LAST ZERO DIGIT
4C11 8D2769   734  	STA	INFO+39
4C14 AD7D49   735  	LDA	SR10T
4C17 8D2369   736  	STA	INFO+35
4C1A AD7C49   737  	LDA	SR1000
4C1D 8D2469   738  	STA	INFO+36
4C20 AD7B49   739  	LDA	SR100
4C23 8D2569   740  	STA	INFO+37
4C26 AD7A49   741  	LDA	SR10
4C29 8D2669   742  	STA	INFO+38
4C2C A980     743  	LDA	#$80
4C2E 8514     744  	STA	$14
4C30 A900     745  	LDA	#$00
4C32 8513     746  	STA	$13
4C34 8D8B49   747  	STA	T
4C37 AD1FD0   748  STOP	LDA	CONSOL
4C3A C906     749  	CMP	#06		;START KEY
4C3C F05A     750  	BEQ	MTITLE1
4C3E A513     751  	LDA	$13
4C40 F0F5     752  	BEQ	STOP
4C42 AD8B49   753  	LDA	T
4C45 D097     754  	BNE	MKTITLE
4C47 A000     755  MYTITLE	LDY	#$00
4C49 B9E548   756  AE1	LDA	TITLE1,Y
4C4C 38       757  	SEC
4C4D E920     758  	SBC	#$20
4C4F 990069   759  	STA	INFO,Y
4C52 C8       760  	INY
4C53 C014     761  	CPY	#$14
4C55 90F2     762  	BL	AE1
4C57 A900     763  	LDA	#$00		;STORE HIGH
4C59 8D1D69   764  	STA	INFO+29
4C5C A928     765  	LDA	#$28
4C5E 8D1E69   766  	STA	INFO+30
4C61 A929     767  	LDA	#$29
4C63 8D1F69   768  	STA	INFO+31
4C66 A927     769  	LDA	#$27
4C68 8D2069   770  	STA	INFO+32
4C6B A928     771  	LDA	#$28
4C6D 8D2169   772  	STA	INFO+33
4C70 AD8149   773  	LDA	HSR10T
4C73 8D2369   774  	STA	INFO+35
4C76 AD8049   775  	LDA	HSR1K
4C79 8D2469   776  	STA	INFO+36
4C7C AD7F49   777  	LDA	HSR100
4C7F 8D2569   778  	STA	INFO+37
4C82 AD7E49   779  	LDA	HSR10
4C85 8D2669   780  	STA	INFO+38
4C88 A980     781  	LDA	#$80
4C8A 8514     782  	STA	$14
4C8C A900     783  	LDA	#$00
4C8E 8513     784  	STA	$13
4C90 A901     785  	LDA	#$01
4C92 8D8B49   786  	STA	T
4C95 4C374C   787  	JMP	STOP
4C98 A000     788  MTITLE1	LDY	#$00
4C9A B9BD48   789  AF1	LDA	TITLE,Y
4C9D 990069   790  	STA	INFO,Y
4CA0 C8       791  	INY
4CA1 C028     792  	CPY	#$28
4CA3 90F5     793  	BL	AF1
4CA5 AD8349   794  	LDA	SHIPNUM
4CA8 8D1A69   795  	STA	INFO+26
              796  *ZERO OUT SCORE
4CAB A910     797  	LDA	#$10
4CAD 8D7A49   798  	STA	SR10
4CB0 8D7B49   799  	STA	SR100
4CB3 8D7C49   800  	STA	SR1000
4CB6 8D7D49   801  	STA	SR10T
4CB9 A930     802  	LDA	#$30		;REG ENGINE SOUND
4CBB 8D04D2   803  	STA	AUDF3
4CBE A986     804  	LDA	#$86		;DISTORTION 8,VOLUME 6
4CC0 8D05D2   805  	STA	AUDC3
              806  *SET VBLANK
4CC3 A907     807  FRAME	LDA	#07
4CC5 A24E     808  	LDX	#<VBCODE	;HI BYTE VBLANK ROUTINE
4CC7 A0BB     809  	LDY	#VBCODE		;LO BYTE
4CC9 205CE4   810  	JSR	SETVBK
              811  *MAIN LOOP CODE
4CCC A900     812  LOOPM	LDA	#$00
4CCE 8D1949   813  	STA	VBFLAG
              814  *FIRE GROUND LASER
4CD1 A203     815  	LDX	#$03
4CD3 BD6649   816  FLASER	LDA	LDELAY,X
4CD6 D008     817  	BNE	AG1
4CD8 A000     818  	LDY	#$00
4CDA 20A754   819  	JSR	LASER
4CDD 4CE34C   820  	JMP	CONT
4CE0 DE6649   821  AG1	DEC	LDELAY,X
4CE3 CA       822  CONT	DEX
4CE4 10ED     823  	BPL	FLASER
              824  *DETECT SHIP COLLISIONS
4CE6 AD9249   825  COLLIDE	LDA	REZFLAG		;DON'T ALLOW COLLISION DURING DEREZ
4CE9 D069     826  	BNE	AH4
4CEB AD04D0   827  	LDA	P0PF		;COLLISION WITH PLAYFIELD?
4CEE F006     828  	BEQ	AH1
4CF0 200A56   829  	JSR	XSHIP
4CF3 4C544D   830  	JMP	AH4
4CF6 AD09D0   831  AH1	LDA	M1PL		;COLLISION WITH MISSILE#1?
4CF9 C901     832  	CMP	#$01
4CFB D006     833  	BNE	AH2
4CFD 200A56   834  	JSR	XSHIP
4D00 4C544D   835  	JMP	AH4
4D03 AD0AD0   836  AH2	LDA	M2PL		;COLLISION WITH MISSILE#2?
4D06 C901     837  	CMP	#$01
4D08 D006     838  	BNE	AH3
4D0A 200A56   839  	JSR	XSHIP
4D0D 4C544D   840  	JMP	AH4
4D10 AD0CD0   841  AH3	LDA	P0PL		;COLLISION WITH PLAYER#1?
4D13 C902     842  	CMP	#$02
4D15 D01E     843  	BNE	AH35
4D17 A9E0     844  	LDA	#$E0		;REMOVE ALIEN#1
4D19 8D01D0   845  	STA	HPOSP1
4D1C A920     846  	LDA	#$20		;TURN ON EXPLOSION SOUND
4D1E 8D9049   847  	STA	SETIME
4D21 A900     848  	LDA	#$00
4D23 8D1C49   849  	STA	ONSCR1
4D26 AD2049   850  	LDA	NDLAY1
4D29 8D1E49   851  	STA	TDLAY1
4D2C 20C155   852  	JSR	SCORE
4D2F 200A56   853  	JSR	XSHIP
4D32 4C544D   854  	JMP	AH4
4D35 AD0CD0   855  AH35	LDA	P0PL		;COLLISION WITH PLAYER#2?
4D38 C904     856  	CMP	#$04
4D3A D018     857  	BNE	AH4
4D3C A9E0     858  	LDA	#$E0		;REMOVE ALIEN#2
4D3E 8D02D0   859  	STA	HPOSP2
4D41 A920     860  	LDA	#$20		;TURN ON EXPLOSION SOUND
4D43 8D9049   861  	STA	SETIME
4D46 A900     862  	LDA	#$00
4D48 8D1D49   863  	STA	ONSCR2
4D4B AD2149   864  	LDA	NDLAY2
4D4E 8D1F49   865  	STA	TDLAY2
4D51 200A56   866  	JSR	XSHIP
4D54 AD08D0   867  AH4	LDA	M0PL		;COLLISION ALIEN#1 WITH MISSILE?
4D57 C902     868  	CMP	#$02
4D59 D022     869  	BNE	AH5
4D5B A9E0     870  	LDA	#$E0		;REMOVE ALIEN#1
4D5D 8D01D0   871  	STA	HPOSP1
4D60 A920     872  	LDA	#$20		;TURN ON EXPLOSION SOUND
4D62 8D9049   873  	STA	SETIME
4D65 A900     874  	LDA	#$00
4D67 8D1C49   875  	STA	ONSCR1
4D6A AD2049   876  	LDA	NDLAY1
4D6D 8D1E49   877  	STA	TDLAY1
4D70 20AF55   878  	JSR	SCORE2
4D73 A900     879  	LDA	#$00		;REMOVE MISSILE
4D75 8D04D0   880  	STA	HPOSM0
4D78 A900     881  	LDA	#$00		;RESET TIMER
4D7A 8D2A49   882  	STA	TMIS0
4D7D AD05D0   883  AH5	LDA	P1PF		;ALIEN#1 COLLISION WITH PLAYFIELD?
4D80 F015     884  	BEQ	AH6
4D82 A9E0     885  	LDA	#$E0		;REMOVE ALIEN#I
4D84 8D01D0   886  	STA	HPOSP1
4D87 A920     887  	LDA	#$20		;TURN ON EXPLOSION SOUND
4D89 8D9049   888  	STA	SETIME
4D8C A900     889  	LDA	#$00
4D8E 8D1C49   890  	STA	ONSCR1
4D91 AD2049   891  	LDA	NDLAY1
4D94 8D1E49   892  	STA	TDLAY1
4D97 AD08D0   893  AH6	LDA	M0PL		;COLLISION ALIEN#2 WITH SHIP MISSILE?
4D9A C904     894  	CMP	#$04
4D9C D022     895  	BNE	AH7
4D9E A9E0     896  	LDA	#$E0		;REMOVE ALIEN#2
4DA0 8D02D0   897  	STA	HPOSP2
4DA3 A920     898  	LDA	#$20		;TURN ON EXPLOSION SOUND
4DA5 8D9049   899  	STA	SETIME
4DA8 A900     900  	LDA	#$00
4DAA 8D1D49   901  	STA	ONSCR2
4DAD AD2149   902  	LDA	NDLAY2
4DB0 8D1F49   903  	STA	TDLAY2
4DB3 20AF55   904  	JSR	SCORE2
4DB6 A900     905  	LDA	#$00		;REMOVE MISSILE
4DB8 8D04D0   906  	STA	HPOSM0
4DBB A900     907  	LDA	#$00
4DBD 8D2A49   908  	STA	TMIS0
4DC0 AD06D0   909  AH7	LDA	P2PF		;ALIEN#2 COLLISION WITH PLAYFIELD?
4DC3 F015     910  	BEQ	BCOL
4DC5 A9E0     911  	LDA	#$E0		;REMOVE ALIEN #2
4DC7 8D02D0   912  	STA	HPOSP2
4DCA A920     913  	LDA	#$20		;TURN ON EXPLOSION SOUND
4DCC 8D9049   914  	STA	SETIME
4DCF A900     915  	LDA	#$00
4DD1 8D1D49   916  	STA	ONSCR2
4DD4 AD2149   917  	LDA	NDLAY2
4DD7 8D1F49   918  	STA	TDLAY2
              919  *TARGETS ARE PLAYFIELD#1	;TERRAIN PLAYFIELD #0
4DDA AD07D0   920  BCOL	LDA	P3PF		;TEST BOMB COLLISION PLAYFIELD #0
4DDD C901     921  	CMP	#$01
4DDF D00D     922  	BNE	AK80
4DE1 A900     923  	LDA	#$00		;REMOVE BOMB
4DE3 8D03D0   924  	STA	HPOSP3
4DE6 A900     925  	LDA	#$00
4DE8 8D1849   926  	STA	BOMBON
4DEB 4C084E   927  	JMP	AK82		;JUST IN CASE MISSILE & BOMB ON SCREEN
4DEE C902     928  AK80	CMP	#$02		;TEST BOMB AGAINST PLAYFIELD #1
4DF0 F003     929  	BEQ	AK81
4DF2 4C084E   930  	JMP	AK82
4DF5 AD3A49   931  AK81	LDA	X3
4DF8 8D8A49   932  	STA	POS
4DFB 200A57   933  	JSR	RTARGET
4DFE A900     934  	LDA	#$00		;REMOVE BOMB
4E00 8D03D0   935  	STA	HPOSP3
4E03 A900     936  	LDA	#$00
4E05 8D1849   937  	STA	BOMBON
4E08 AD00D0   938  AK82	LDA	M0PF		;TEST MISSILE COLLISION PLAYFIELD #0
4E0B C901     939  	CMP	#$01
4E0D D00D     940  	BNE	AK83
4E0F A900     941  	LDA	#$00		;REMOVE MISSILE
4E11 8D04D0   942  	STA	HPOSM0
4E14 A900     943  	LDA	#$00
4E16 8D2A49   944  	STA	TMIS0
4E19 4C364E   945  	JMP	CC
4E1C C902     946  AK83	CMP	#$02		;TEST MISSILE COLLISION PLAYFIELD #1
4E1E F003     947  	BEQ	AK84
4E20 4C364E   948  	JMP	CC
4E23 AD3F49   949  AK84	LDA	X0M
4E26 8D8A49   950  	STA	POS
4E29 200A57   951  	JSR	RTARGET
4E2C A900     952  	LDA	#$00		;REMOVE MISSILE
4E2E 8D04D0   953  	STA	HPOSM0
4E31 A900     954  	LDA	#$00
4E33 8D2A49   955  	STA	TMIS0
4E36 8D1ED0   956  CC	STA	HITCLR		;CLEAR COLLISIONS
4E39 A900     957  	LDA	#$00		;STOP ATTRACT MODE
4E3B 854D     958  	STA	$4D
4E3D AD9549   959  NASTY	LDA	HARD		;ON HARD SETTING?
4E40 D06C     960  	BNE	FOREVER
4E42 AD9449   961  	LDA	MEDIUM		;ON MEDIUM SETTING?
4E45 D029     962  	BNE	AM1
4E47 AD7B49   963  	LDA	SR100		;AT 400 PTS
4E4A C914     964  	CMP	#$14		;VALUE OFFSET BY #$10
4E4C D022     965  	BNE	AM1
4E4E A901     966  	LDA	#$01		;TURN ON SOME ALIEN GUNS
4E50 8D4C46   967  	STA	ENEMY1+$4C
4E53 8D9146   968  	STA	ENEMY1+$91
4E56 8D9F46   969  	STA	ENEMY1+$9F
4E59 8DE546   970  	STA	ENEMY1+$E5
4E5C 8D1F47   971  	STA	ENEMY2+$1F
4E5F 8D4C47   972  	STA	ENEMY2+$4C
4E62 8D7947   973  	STA	ENEMY2+$79
4E65 8DB247   974  	STA	ENEMY2+$B2
4E68 8DE547   975  	STA	ENEMY2+$E5
4E6B A901     976  	LDA	#$01
4E6D 8D9449   977  	STA	MEDIUM
4E70 AD7C49   978  AM1	LDA	SR1000		;AT 2000 PTS?
4E73 C912     979  	CMP	#$12
4E75 D037     980  	BNE	FOREVER
4E77 A901     981  	LDA	#$01		;TURN ON MORE ALIEN GUNS
4E79 8D5246   982  	STA	ENEMY1+$52
4E7C 8D5E46   983  	STA	ENEMY1+$5E
4E7F 8D7346   984  	STA	ENEMY1+$73
4E82 8D9746   985  	STA	ENEMY1+$97
4E85 8DB246   986  	STA	ENEMY1+$B2
4E88 8DB846   987  	STA	ENEMY1+$B8
4E8B 8DEB46   988  	STA	ENEMY1+$EB
4E8E 8DF146   989  	STA	ENEMY1+$F1
4E91 8D5247   990  	STA	ENEMY2+$52
4E94 8D5847   991  	STA	ENEMY2+$58
4E97 8D5E47   992  	STA	ENEMY2+$5E
4E9A 8D7F47   993  	STA	ENEMY2+$7F
4E9D 8D8547   994  	STA	ENEMY2+$85
4EA0 8DC447   995  	STA	ENEMY2+$C4
4EA3 8DDF47   996  	STA	ENEMY2+$DF
4EA6 8DEB47   997  	STA	ENEMY2+$EB
4EA9 A901     998  	LDA	#$01
4EAB 8D9549   999  	STA	HARD
4EAE AD1949  1000  FOREVER	LDA	VBFLAG
4EB1 C901    1001  	CMP	#$01
4EB3 D003    1002  	BNE	AN1
4EB5 4CCC4C  1003  	JMP	LOOPM
4EB8 4CAE4E  1004  AN1	JMP	FOREVER
             1005  *TEST IF DELAY SET BY XSHIP
4EBB A901    1006  VBCODE	LDA	#$01
4EBD 8D1949  1007  	STA	VBFLAG
4EC0 AD8249  1008  	LDA	DELAY
4EC3 F04E    1009  	BEQ	CHKSTK
4EC5 A513    1010  	LDA	$13
4EC7 F021    1011  	BEQ	REZ
4EC9 AD8349  1012  	LDA	SHIPNUM
4ECC C910    1013  	CMP	#$10		;COMPARE TO ZERO SHIPS
4ECE D00B    1014  	BNE	AP1
4ED0 A949    1015  	LDA	#<START		; SET RESET JMP VECTOR
4ED2 8503    1016  	STA	$03
4ED4 A9C7    1017  	LDA	#START
4ED6 8502    1018  	STA	$02
4ED8 4C74E4  1019  	JMP	$E474		;SYSTEM RESET VECTOR
4EDB A950    1020  AP1	LDA	#$50		;PUT SHIP BACK
4EDD 8D00D0  1021  	STA	HPOSP0
4EE0 A960    1022  	LDA	#$60
4EE2 8D0A49  1023  	STA	YPM0
4EE5 A900    1024  	LDA	#$00
4EE7 8D8249  1025  	STA	DELAY
4EEA AD9249  1026  REZ	LDA	REZFLAG
4EED F024    1027  	BEQ	CHKSTK
4EEF AD9349  1028  	LDA	EXCOUNT
4EF2 C930    1029  	CMP	#$30
4EF4 9017    1030  	BL	AR1
4EF6 A900    1031  	LDA	#$00		;MOVE SHIP OFF SCREEN LEFT
4EF8 8D00D0  1032  	STA	HPOSP0
4EFB AD9349  1033  	LDA	EXCOUNT
4EFE C931    1034  	CMP	#$31		;DON'T RESET REZFLAG UNTIL NEXT CYCLE BECAUSE
4F00 D00B    1035  	BNE	AR1		;COULD GET COLLISION AGAINST PLAYFIELD IF ANY
4F02 A900    1036  	LDA	#$00		;PIXELS LEFT IN SHIP SHAPE BEFORE MOVE
4F04 8D9249  1037  	STA	REZFLAG
4F07 8D9349  1038  	STA	EXCOUNT
4F0A 4C134F  1039  	JMP	CHKSTK
4F0D 20F657  1040  AR1	JSR	EXPLODE
4F10 EE9349  1041  	INC	EXCOUNT
             1042  *READ STICK
4F13 AD7802  1043  CHKSTK	LDA	STICK
4F16 2901    1044  	AND	#$01		;UP BIT?
4F18 D012    1045  	BNE	CHKDN
4F1A CE0A49  1046  	DEC	YPM0
4F1D CE0A49  1047  	DEC	YPM0
4F20 AD0A49  1048  	LDA	YPM0		;TOP?
4F23 C930    1049  	CMP	#$30
4F25 B005    1050  	BGE	CHKDN
4F27 A930    1051  	LDA	#$30		;CLIP AT TOP
4F29 8D0A49  1052  	STA	YPM0
4F2C AD7802  1053  CHKDN	LDA	STICK
4F2F 2902    1054  	AND	#$02		;DOWN BIT?
4F31 D012    1055  	BNE	CHKRT
4F33 EE0A49  1056  	INC	YPM0
4F36 EE0A49  1057  	INC	YPM0
4F39 AD0A49  1058  	LDA	YPM0		;BOTTOM?
4F3C C9C0    1059  	CMP	#$C0
4F3E 9005    1060  	BL	CHKRT
4F40 A9C0    1061  	LDA	#$C0		;CLIP AT BOTTOM
4F42 8D0A49  1062  	STA	YPM0
4F45 AD7802  1063  CHKRT	LDA	STICK
4F48 2908    1064  	AND	#$08		;RIGHT BIT?
4F4A D012    1065  	BNE	AS1
4F4C A901    1066  	LDA	#$01		;FAST SPEED
4F4E 8D1749  1067  	STA	SPEED
4F51 A920    1068  	LDA	#$20		;FAST ENGINE SOUND
4F53 8D04D2  1069  	STA	AUDF3
4F56 A986    1070  	LDA	#$86
4F58 8D05D2  1071  	STA	AUDC3
4F5B 4C6D4F  1072  	JMP	CHKFD
4F5E A900    1073  AS1	LDA	#$00		;REGULAR SPEED
4F60 8D1749  1074  	STA	SPEED
4F63 A930    1075  	LDA	#$30		;REG ENGINE SOUND
4F65 8D04D2  1076  	STA	AUDF3
4F68 A986    1077  	LDA	#$86
4F6A 8D05D2  1078  	STA	AUDC3
4F6D A900    1079  CHKFD	LDA	#$00
4F6F 8D1649  1080  	STA	BACK
4F72 AD7802  1081  	LDA	STICK
4F75 2904    1082  	AND	#$04		;LEFT BIT
4F77 D005    1083  	BNE	AT1
4F79 A901    1084  	LDA	#$01		;YES STICK BACK
4F7B 8D1649  1085  	STA	BACK
4F7E AD8249  1086  AT1	LDA	DELAY		;STOP SHIP SOUND IF IN DELAY
4F81 F005    1087  	BEQ	BUTTON
4F83 A900    1088  	LDA	#$00
4F85 8D05D2  1089  	STA	AUDC3
             1090  *FIRE SHIP LASER
4F88 AD8249  1091  BUTTON	LDA	DELAY		;PREVENT MISSILE FIRING DURING DELAY
4F8B D005    1092  	BNE	AW15
4F8D AD8402  1093  	LDA	STRIG0		;BUTTON PRESSED=0
4F90 F008    1094  	BEQ	AW1
4F92 AD2A49  1095  AW15	LDA	TMIS0		;MISSILE ALREADY IN FLIGHT?
4F95 D034    1096  	BNE	AW3
4F97 4CEA4F  1097  	JMP	BM
4F9A AD1649  1098  AW1	LDA	BACK		;STICK BACK?
4F9D F003    1099  	BEQ	AW2
4F9F 4C924F  1100  	JMP	AW15
4FA2 AD2A49  1101  AW2	LDA	TMIS0		;MISSILE ALREADY IN FLIGHT?
4FA5 D024    1102  	BNE	AW3
4FA7 AD0949  1103  	LDA	XPM0		;ADJUST LASER TO FIRE FROM SHIP'S NOSE
4FAA 18      1104  	CLC
4FAB 6910    1105  	ADC	#$10
4FAD 8D3F49  1106  	STA	X0M
4FB0 AD0A49  1107  	LDA	YPM0
4FB3 18      1108  	CLC
4FB4 6905    1109  	ADC	#$05
4FB6 8D4249  1110  	STA	Y0M
4FB9 A200    1111  	LDX	#$00
4FBB 207654  1112  	JSR	MISET0		;PLOT MISSILT
4FBE A901    1113  	LDA	#$01		;TURN ON MISSILE MOVIN, FLAG
4FC0 8D2A49  1114  	STA	TMIS0
4FC3 A901    1115  	LDA	#$01		;TURN ON LASER SOUND
4FC5 8D8E49  1116  	STA	SLTIM
4FC8 4CEA4F  1117  	JMP	BM
             1118  *MOVE MISSILE RIGHT
4FCB EE3F49  1119  AW3	INC	X0M
4FCE EE3F49  1120  	INC	X0M
4FD1 AD3F49  1121  	LDA	X0M
4FD4 C9D8    1122  	CMP	#$D8
4FD6 B008    1123  	BGE	AW4
4FD8 A200    1124  	LDX	#$00
4FDA 207654  1125  	JSR	MISET0
4FDD 4CEA4F  1126  	JMP	BM
4FE0 A900    1127  AW4	LDA	#$00		;REMOVE MISSILE TO LEFT
4FE2 8D2A49  1128  	STA	TMIS0
4FE5 A900    1129  	LDA	#$00
4FE7 8D04D0  1130  	STA	HPOSM0
             1131  *DROP BOMB
4FEA 203055  1132  BM	JSR	BOMB
4FED AD9249  1133  	LDA	REZFLAG		;DON'T PLOT SHIP WHILE IN DEREZ
4FF0 D003    1134  	BNE	AX1
4FF2 209F52  1135  	JSR	PLTST
             1136  *FINE SCROLL SCREEN
4FF5 AD1749  1137  AX1	LDA	SPEED
4FF8 F003    1138  	BEQ	SCROL1
4FFA EE0E49  1139  SCROL	INC	FS
4FFD EE0E49  1140  SCROL1	INC	FS
5000 AD0E49  1141  	LDA	FS
5003 C908    1142  	CMP	#$08		;GREATER 0-7 RANGE?
5005 B009    1143  	BGE	AY1
5007 38      1144  	SEC
5008 E908    1145  	SBC	#$08
500A 8D0E49  1146  	STA	FS
500D EE0D49  1147  	INC	XS		;UP ROUGH SCROLL
5010 38      1148  AY1	SEC
5011 A90F    1149  	LDA	#$0F		;CORRECT 12 CLOCK CYCLES
5013 ED0E49  1150  	SBC	FS
5016 8D04D4  1151  	STA	HSCROL
5019 AD0D49  1152  	LDA	XS		;NEW XS
501C C9EC    1153  	CMP	#$EC		;TEST WRAPAROUND @ 236
501E 900F    1154  	BL	AY2
5020 A900    1155  	LDA	#$00
5022 8D0D49  1156  	STA	XS
5025 AD8649  1157  	LDA	MBCOUNT		;IF ALL 7 BASES DESTROYED THEN REBUILD
5028 C907    1158  	CMP	#$07
502A D003    1159  	BNE	AY2
502C 20D656  1160  	JSR	MBSUB
502F EA      1161  AY2	NOP
             1162  *UPDATE DLIST 22 LO BYTES FOR EACH LMS
5030 A000    1163  	LDY	#$00		;COUNTER
5032 AD0D49  1164  AY4	LDA	XS		;POSITION AT SCREEN LEFT
5035 990894  1165  	STA	NDLIST+8,Y
5038 C8      1166  	INY			;LO BYTES ARE 3 APART
5039 C8      1167  	INY
503A C8      1168  	INY
503B C04B    1169  	CPY	#$4B		;END OF LIST?
503D D0F3    1170  	BNE	AY4		;NEXT ELEMENT
503F A9E0    1171  	LDA	#$E0
5041 8DF402  1172  	STA	756
             1173  *PROGRAMABLE ALIENS
5044 AD1E49  1174  ATTACK	LDA	TDLAY1		;STILL IN DELAY?
5047 F015    1175  	BEQ	AZ05
5049 CE1E49  1176  	DEC	TDLAY1
504C A900    1177  	LDA	#$00
504E 8D2249  1178  	STA	TIMR1L
5051 AD2B49  1179  	LDA	TMIS1
5054 F005    1180  	BEQ	AZ08
5056 A201    1181  	LDX	#$01
5058 204953  1182  	JSR	MISSILE
505B 4C5751  1183  AZ08	JMP	EE
505E AD1C49  1184  AZ05	LDA	ONSCR1		;ALIEN #1 ON SCREEN?
5061 F003    1185  	BEQ	AZ07
5063 4CC650  1186  	JMP	AZ1
5066 20E657  1187  AZ07	JSR	CHANCE
5069 AE8749  1188  	LDX	LUCK		;PLAYER #1,SHAPE#LUCK PATTERN
506C BD8148  1189  	LDA	E1PT,X		;SETUP TO READ DATA
506F 85F8    1190  	STA	E1L
5071 A946    1191  	LDA	#<ENEMY1
5073 85F9    1192  	STA	E1H
5075 20E657  1193  	JSR	CHANCE		;CHOOSE RANDOM SHAPE PLAYER#1
5078 AD8749  1194  	LDA	LUCK
507B 8D8849  1195  	STA	RDSHP1
507E A901    1196  	LDA	#$01		;SET FLAG ON
5080 8D1C49  1197  	STA	ONSCR1
5083 A900    1198  	LDA	#$00		;RESET TIMER
5085 8D2249  1199  	STA	TIMR1L
5088 8D2349  1200  	STA	TIMR1H
508B A000    1201  	LDY	#$00
508D B1F8    1202  	LDA	(E1L),Y		;READ INITIAL STARTING VALUES
508F 8D3849  1203  	STA	X1
5092 C8      1204  	INY
5093 B1F8    1205  	LDA	(E1L),Y
5095 8D3C49  1206  	STA	Y1
5098 C8      1207  	INY
5099 B1F8    1208  	LDA	(E1L),Y
509B 8D2049  1209  	STA	NDLAY1
509E C8      1210  	INY
509F B1F8    1211  	LDA	(E1L),Y
50A1 8D2649  1212  	STA	TIME1L
50A4 C8      1213  	INY
50A5 B1F8    1214  	LDA	(E1L),Y
50A7 8D2849  1215  	STA	TIME1H
50AA C8      1216  	INY
50AB B1F8    1217  	LDA	(E1L),Y
50AD 8D2E49  1218  	STA	VX1
50B0 C8      1219  	INY
50B1 B1F8    1220  	LDA	(E1L),Y
50B3 8D3249  1221  	STA	VY1
50B6 C8      1222  	INY
50B7 B1F8    1223  	LDA	(E1L),Y
50B9 8D4649  1224  	STA	SHOOT1
50BC C8      1225  	INY			;SKIP DIR
50BD C8      1226  	INY
50BE 98      1227  	TYA			;SAVE Y REGISTER
50BF 8D1249  1228  	STA	INDEX1
50C2 4C0A51  1229  	JMP	AZ3
50C5 EA      1230  	NOP
50C6 EE2249  1231  AZ1	INC	TIMR1L
50C9 AD2249  1232  	LDA	TIMR1L		;CHECK IF TIMER HITS 256
50CC D003    1233  	BNE	AZ2
50CE EE2349  1234  	INC	TIMR1H
50D1 CD2649  1235  AZ2	CMP	TIME1L		;TIME TO READ NEXT SET INSTRUCTIONS?
50D4 D034    1236  	BNE	AZ3
50D6 AD2349  1237  	LDA	TIMR1H
50D9 CD2849  1238  	CMP	TIME1H
50DC D02C    1239  	BNE	AZ3
50DE AD1249  1240  	LDA	INDEX1		;RESTORE Y REGISTER
50E1 A8      1241  	TAY
50E2 B1F8    1242  	LDA	(E1L),Y
50E4 8D2649  1243  	STA	TIME1L
50E7 C8      1244  	INY
50E8 B1F8    1245  	LDA	(E1L),Y
50EA 8D2849  1246  	STA	TIME1H
50ED C8      1247  	INY
50EE B1F8    1248  	LDA	(E1L),Y
50F0 8D2E49  1249  	STA	VX1
50F3 C8      1250  	INY
50F4 B1F8    1251  	LDA	(E1L),Y
50F6 8D3249  1252  	STA	VY1
50F9 C8      1253  	INY
50FA B1F8    1254  	LDA	(E1L),Y
50FC 8D4649  1255  	STA	SHOOT1
50FF C8      1256  	INY
5100 B1F8    1257  	LDA	(E1L),Y
5102 8D5149  1258  	STA	DIR1
5105 C8      1259  	INY
5106 98      1260  	TYA			;SAVE Y REGISTER
5107 8D1249  1261  	STA	INDEX1
             1262  *MOVE ENEMY SHIP
510A AD3849  1263  AZ3	LDA	X1
510D 18      1264  	CLC
510E 6D2E49  1265  	ADC	VX1
5111 8D3849  1266  	STA	X1
5114 AD1749  1267  	LDA	SPEED		;MOVE ALIENS DOUBLE SPEED IF SHIP SPEEDING
5117 F003    1268  	BEQ	AZ35
5119 CE3849  1269  	DEC	X1
511C AD3C49  1270  AZ35	LDA	Y1
511F 18      1271  	CLC
5120 6D3249  1272  	ADC	VY1
5123 8D3C49  1273  	STA	Y1
5126 A201    1274  	LDX	#$01
5128 204953  1275  	JSR	MISSILE
             1276  *SHIP STILL ON SCREEN
512B AD3849  1277  A1	LDA	X1
512E C930    1278  	CMP	#$30		;X<48
5130 9015    1279  	BL	BA6
5132 C9D1    1280  	CMP	#$D1		;X>208
5134 B011    1281  	BGE	BA6
5136 AD3C49  1282  	LDA	Y1
5139 C930    1283  	CMP	#$30		;Y<48
513B 900A    1284  	BL	BA6
513D C9E1    1285  	CMP	#$E1		;Y>224
513F B006    1286  	BGE	BA6
5141 20C352  1287  	JSR	PLTST1
5144 4C5751  1288  	JMP	EE
5147 A900    1289  BA6	LDA	#$00
5149 8D1C49  1290  	STA	ONSCR1
514C AD2049  1291  	LDA	NDLAY1
514F 8D1E49  1292  	STA	TDLAY1
5152 A9E0    1293  	LDA	#$E0		;REMOVE ALIEN FROM SCREEN
5154 8D01D0  1294  	STA	HPOSP1
5157 EA      1295  EE	NOP
5158 AD1F49  1296  ATTAK2	LDA	TDLAY2		;STILL IN DELAY?
515B F015    1297  	BEQ	BB05
515D CE1F49  1298  	DEC	TDLAY2
5160 A900    1299  	LDA	#$00
5162 8D2449  1300  	STA	TIMR2L
5165 AD2C49  1301  	LDA	TMIS2
5168 F005    1302  	BEQ	BB08
516A A202    1303  	LDX	#$02
516C 204953  1304  	JSR	MISSILE
516F 4C6B52  1305  BB08	JMP	EE2
5172 AD1D49  1306  BB05	LDA	ONSCR2		;ALIEN #1 ON SCREEN?
5175 F003    1307  	BEQ	BB07
5177 4CDA51  1308  	JMP	BB1
517A 20E657  1309  BB07	JSR	CHANCE
517D AE8749  1310  	LDX	LUCK		;PLAYER #2,SHAPE#LUCK PATTERN
5180 BD8648  1311  	LDA	E2PT,X		;SETUP TO READ DATA
5183 85FA    1312  	STA	E2L
5185 A947    1313  	LDA	#<ENEMY2
5187 85FB    1314  	STA	E2H
5189 A901    1315  	LDA	#$01		;SET FLAG ON
518B 8D1D49  1316  	STA	ONSCR2
518E 20E657  1317  	JSR	CHANCE		;CHOOSE RANDOM SHAPE PLAYER#2
5191 AD8749  1318  	LDA	LUCK
5194 8D8949  1319  	STA	RDSHP2
5197 A900    1320  	LDA	#$00		;RESET TIMER
5199 8D2449  1321  	STA	TIMR2L
519C 8D2549  1322  	STA	TIMR2H
519F A000    1323  	LDY	#$00
51A1 B1FA    1324  	LDA	(E2L),Y		;READ INITIAL STARTING VALUES
51A3 8D3949  1325  	STA	X2
51A6 C8      1326  	INY
51A7 B1FA    1327  	LDA	(E2L),Y
51A9 8D3D49  1328  	STA	Y2
51AC C8      1329  	INY
51AD B1FA    1330  	LDA	(E2L),Y
51AF 8D2149  1331  	STA	NDLAY2
51B2 C8      1332  	INY
51B3 B1FA    1333  	LDA	(E2L),Y
51B5 8D2749  1334  	STA	TIME2L
51B8 C8      1335  	INY
51B9 B1FA    1336  	LDA	(E2L),Y
51BB 8D2949  1337  	STA	TIME2H
51BE C8      1338  	INY
51BF B1FA    1339  	LDA	(E2L),Y
51C1 8D2F49  1340  	STA	VX2
51C4 C8      1341  	INY
51C5 B1FA    1342  	LDA	(E2L),Y
51C7 8D3349  1343  	STA	VY2
51CA C8      1344  	INY
51CB B1FA    1345  	LDA	(E2L),Y
51CD 8D4749  1346  	STA	SHOOT2
51D0 C8      1347  	INY			;SKIP DIR
51D1 C8      1348  	INY
51D2 98      1349  	TYA			;SAVE Y REGISTER
51D3 8D1349  1350  	STA	INDEX2
51D6 4C1E52  1351  	JMP	BB3
51D9 EA      1352  	NOP
51DA EE2449  1353  BB1	INC	TIMR2L
51DD AD2449  1354  	LDA	TIMR2L		;CHECK IF TIMER HITS 256
51E0 D003    1355  	BNE	BB2
51E2 EE2549  1356  	INC	TIMR2H
51E5 CD2749  1357  BB2	CMP	TIME2L		;TIME TO READ NEXT SET INSTRUCTIONS?
51E8 D034    1358  	BNE	BB3
51EA AD2549  1359  	LDA	TIMR2H
51ED CD2949  1360  	CMP	TIME2H
51F0 D02C    1361  	BNE	BB3
51F2 AD1349  1362  	LDA	INDEX2		;RESTORE Y REGISTER
51F5 A8      1363  	TAY
51F6 B1FA    1364  	LDA	(E2L),Y
51F8 8D2749  1365  	STA	TIME2L
51FB C8      1366  	INY
51FC B1FA    1367  	LDA	(E2L),Y
51FE 8D2949  1368  	STA	TIME2H
5201 C8      1369  	INY
5202 B1FA    1370  	LDA	(E2L),Y
5204 8D2F49  1371  	STA	VX2
5207 C8      1372  	INY
5208 B1FA    1373  	LDA	(E2L),Y
520A 8D3349  1374  	STA	VY2
520D C8      1375  	INY
520E B1FA    1376  	LDA	(E2L),Y
5210 8D4749  1377  	STA	SHOOT2
5213 C8      1378  	INY
5214 B1FA    1379  	LDA	(E2L),Y
5216 8D5249  1380  	STA	DIR2
5219 C8      1381  	INY
521A 98      1382  	TYA			;SAVE Y REGISTER
521B 8D1349  1383  	STA	INDEX2
             1384  *MOVE ENEMY SHIP
521E AD3949  1385  BB3	LDA	X2
5221 18      1386  	CLC
5222 6D2F49  1387  	ADC	VX2
5225 8D3949  1388  	STA	X2
5228 AD1749  1389  	LDA	SPEED		;MOVE ALIENS DOUBLE SPEED IF SHIP SPEEDING
522B F003    1390  	BEQ	BB35
522D CE3949  1391  	DEC	X2
5230 AD3D49  1392  BB35	LDA	Y2
5233 18      1393  	CLC
5234 6D3349  1394  	ADC	VY2
5237 8D3D49  1395  	STA	Y2
523A A202    1396  	LDX	#$02
523C 204953  1397  	JSR	MISSILE
             1398  *SHIP STILL ON SCREEN
523F AD3949  1399  A2	LDA	X2
5242 C930    1400  	CMP	#$30		;X<48
5244 9015    1401  	BL	BC6
5246 C9D1    1402  	CMP	#$D1		;X>208
5248 B011    1403  	BGE	BC6
524A AD3D49  1404  	LDA	Y2
524D C930    1405  	CMP	#$30		;Y<48
524F 900A    1406  	BL	BC6
5251 C9E1    1407  	CMP	#$E1		;Y>224
5253 B006    1408  	BGE	BC6
5255 20F152  1409  	JSR	PLTST2
5258 4C6B52  1410  	JMP	EE2
525B A900    1411  BC6	LDA	#$00
525D 8D1D49  1412  	STA	ONSCR2
5260 AD2149  1413  	LDA	NDLAY2
5263 8D1F49  1414  	STA	TDLAY2
5266 A9E0    1415  	LDA	#$E0		;REMOVE ALIEN FROM SCREEN
5268 8D02D0  1416  	STA	HPOSP2
526B 205C58  1417  EE2	JSR	SOUND
526E 4C62E4  1418  PAST	JMP	XITVBK
             1419  ***	IN "D:SCROLLIC"
             1420  *PART 3 OF SCROLLING GAME
             1421  *DISPLAY LIST INTERUPT ROUTINE
5271 48      1422  DLI	PHA
5272 A990    1423  	LDA	#$90		;HI BYTE OF CUSTOM SET
5274 8D0AD4  1424  	STA	WSYNC
5277 8D09D4  1425  	STA	CHBASE
527A 68      1426  	PLA
527B 40      1427  	RTI
             1428  *PUT SHAPE IN P/M AREA
527C A000    1429  PLOT	LDY	#$00		;COUNTER
527E 91F2    1430  	STA	(SHPML),Y	;PUT IN P/M AREA
5280 A900    1431  	LDA	#$00		;NEED 0 TO ERASE EACH TIME
5282 91F4    1432  BD1	STA	(SHPM0L),Y	;ERASE OLD SHAPE FIRST
5284 C8      1433  	INY
5285 C008    1434  	CPY	#$08
5287 90F9    1435  	BL	BD1
5289 A000    1436  	LDY	#$00
528B B1F0    1437  BD2	LDA	(SHPL),Y	;GET BYTE FROM PROPER SHAPE TABLE
528D 91F2    1438  	STA	(SHPML),Y	;PUT IN P/M AREA
528F C8      1439  	INY
5290 C008    1440  	CPY	#$08
5292 90F7    1441  	BL	BD2
5294 A5F2    1442  	LDA	SHPML		;TRANSFER NEW P/M POS TO OLD POS
5296 9D4849  1443  	STA	TEMPL,X
5299 A5F3    1444  	LDA	SHPMH
529B 9D4C49  1445  	STA	TEMPH,X
529E 60      1446  	RTS
529F AD0A49  1447  PLTST	LDA	YPM0		;CORRECTED YPOS
52A2 85F2    1448  	STA	SHPML
52A4 A988    1449  	LDA	#<PDATA
52A6 18      1450  	CLC
52A7 6904    1451  	ADC	#$04		;PLAYER0 IS 1K BEYOND START
52A9 85F3    1452  	STA	SHPMH
52AB A948    1453  	LDA	#<SHIP
52AD 85F1    1454  	STA	SHPH
52AF A94C    1455  	LDA	#SHIP
52B1 85F0    1456  	STA	SHPL
52B3 A200    1457  	LDX	#$00
52B5 BD4849  1458  	LDA	TEMPL,X
52B8 85F4    1459  	STA	SHPM0L
52BA BD4C49  1460  	LDA	TEMPH,X
52BD 85F5    1461  	STA	SHPM0H
52BF 207C52  1462  	JSR	PLOT
52C2 60      1463  	RTS
             1464  *PLOTSET1 SUBROUTINE
52C3 AD3849  1465  PLTST1	LDA	X1
52C6 8D01D0  1466  	STA	HPOSP1
52C9 AD3C49  1467  	LDA	Y1
52CC 85F2    1468  	STA	SHPML
52CE A988    1469  	LDA	#<PDATA
52D0 18      1470  	CLC
52D1 6905    1471  	ADC	#$05		;PLAYER#1 IS 1.25K BEYOND START
52D3 85F3    1472  	STA	SHPMH
52D5 A948    1473  	LDA	#<ALIEN
52D7 85F1    1474  	STA	SHPH
52D9 AE8849  1475  	LDX	RDSHP1
52DC BD7C48  1476  	LDA	ALIENPT,X
52DF 85F0    1477  	STA	SHPL
52E1 A201    1478  	LDX	#$01
52E3 BD4849  1479  	LDA	TEMPL,X
52E6 85F4    1480  	STA	SHPM0L
52E8 BD4C49  1481  	LDA	TEMPH,X
52EB 85F5    1482  	STA	SHPM0H
52ED 207C52  1483  	JSR	PLOT
52F0 60      1484  	RTS
52F1 AD3949  1485  PLTST2	LDA	X2
52F4 8D02D0  1486  	STA	HPOSP2
52F7 AD3D49  1487  	LDA	Y2
52FA 85F2    1488  	STA	SHPML
52FC A988    1489  	LDA	#<PDATA
52FE 18      1490  	CLC
52FF 6906    1491  	ADC	#$06		;PLAYER#1 IS 1.5K BEYOND START
5301 85F3    1492  	STA	SHPMH
5303 A948    1493  	LDA	#<ALIEN
5305 85F1    1494  	STA	SHPH
5307 AE8949  1495  	LDX	RDSHP2
530A BD7C48  1496  	LDA	ALIENPT,X
530D 85F0    1497  	STA	SHPL
530F A202    1498  	LDX	#$02
5311 BD4849  1499  	LDA	TEMPL,X
5314 85F4    1500  	STA	SHPM0L
5316 BD4C49  1501  	LDA	TEMPH,X
5319 85F5    1502  	STA	SHPM0H
531B 207C52  1503  	JSR	PLOT
531E 60      1504  	RTS
531F AD3A49  1505  PLTST3	LDA	X3
5322 8D03D0  1506  	STA	HPOSP3
5325 AD3E49  1507  	LDA	Y3
5328 85F2    1508  	STA	SHPML
532A A988    1509  	LDA	#<PDATA
532C 18      1510  	CLC
532D 6907    1511  	ADC	#$07		;PLAYER#1 IS 1.75K BEYOND START
532F 85F3    1512  	STA	SHPMH
5331 A948    1513  	LDA	#<BOMBSH
5333 85F1    1514  	STA	SHPH
5335 A997    1515  	LDA	#BOMBSH
5337 85F0    1516  	STA	SHPL
5339 A203    1517  	LDX	#$03
533B BD4849  1518  	LDA	TEMPL,X
533E 85F4    1519  	STA	SHPM0L
5340 BD4C49  1520  	LDA	TEMPH,X
5343 85F5    1521  	STA	SHPM0H
5345 207C52  1522  	JSR	PLOT
5348 60      1523  	RTS
             1524  *MISSILE SUBROUTINE
5349 BD4549  1525  MISSILE	LDA	SHOOT0,X
534C F030    1526  	BEQ	BF08
534E BD2A49  1527  	LDA	TMIS0,X
5351 D033    1528  	BNE	BF1
5353 FE2A49  1529  	INC	TMIS0,X		;INCREMENT TIMER
5356 BD5049  1530  	LDA	DIR0,X		;SAVE TABLE DIRECTION
5359 9D5349  1531  	STA	MDIR0,X
             1532  *ERASE OLD MISSILE & PUT AT SHIP
535C BD3B49  1533  	LDA	Y0,X
535F 18      1534  	CLC
5360 6904    1535  	ADC	#$04		;CORRECT TO SHIP CENTER
5362 9D4249  1536  	STA	Y0M,X
5365 BD3749  1537  	LDA	X0,X
5368 18      1538  	CLC
5369 6904    1539  	ADC	#$04
536B 9D3F49  1540  	STA	X0M,X
536E E002    1541  	CPX	#$02
5370 F006    1542  	BEQ	BF05
5372 201454  1543  	JSR	MISET1
5375 4CEF53  1544  	JMP	DD
5378 204554  1545  BF05	JSR	MISET2
537B 4CEF53  1546  	JMP	DD
537E BD2A49  1547  BF08	LDA	TMIS0,X
5381 D003    1548  	BNE	BF1
5383 4CEF53  1549  	JMP	DD
5386 BD2A49  1550  BF1	LDA	TMIS0,X
5389 C91E    1551  	CMP	#$1E		;MISSILE CAN ONLY MOVE 30 CYCLES
538B B04B    1552  	BGE	E
             1553  *MOVE MISSILE IN PROPER DIRECTION
538D BC5349  1554  BF2	LDY	MDIR0,X
5390 B99F48  1555  	LDA	VMX,Y
5393 0A      1556  	ASL			;DOUBLE VELOCITY
5394 18      1557  	CLC
5395 7D3F49  1558  	ADC	X0M,X
5398 9D3F49  1559  	STA	X0M,X
539B B9A748  1560  	LDA	VMY,Y
539E 0A      1561  	ASL			;DOUBLE VELOCITY
539F 18      1562  	CLC
53A0 7D4249  1563  	ADC	Y0M,X
53A3 9D4249  1564  	STA	Y0M,X
             1565  *HAS MISSILE HIT SCREEN EDGE
53A6 C930    1566  	CMP	#$30
53A8 B003    1567  	BGE	BF23
53AA 4CD853  1568  	JMP	E
53AD C9D8    1569  BF23	CMP	#$D8
53AF 9003    1570  	BL	BF24
53B1 4CD853  1571  	JMP	E
53B4 BD3F49  1572  BF24	LDA	X0M,X
53B7 C930    1573  	CMP	#$30
53B9 B003    1574  	BGE	BF25
53BB 4CD853  1575  	JMP	E
53BE C9D0    1576  BF25	CMP	#$D0
53C0 9003    1577  	BL	BF26
53C2 4CD853  1578  	JMP	E
53C5 FE2A49  1579  BF26	INC	TMIS0,X
             1580  *ERASE &	REPLOT MISSILE
53C8 E002    1581  ERASE	CPX	#$02
53CA F006    1582  	BEQ	BF28
53CC 201454  1583  	JSR	MISET1
53CF 4CEF53  1584  	JMP	DD
53D2 204554  1585  BF28	JSR	MISET2
53D5 4CEF53  1586  	JMP	DD
             1587  *ERASE MISSILE OFF SCREEN
             1588  *MISSILES BOMBS & SHIPS PUT ON FAR LEFT TO PREVENT COLLISIONS
             1589  *WITH ALIENS & THEIR MISSILES PUT AT FAR RIGHT
53D8 A9E8    1590  E	LDA	#$E8
53DA 9D3F49  1591  	STA	X0M,X		;PLOT OFF SCREEN
53DD E002    1592  	CPX	#$02
53DF F006    1593  	BEQ	BF31
53E1 201454  1594  	JSR	MISET1
53E4 4CEA53  1595  	JMP	BF7
53E7 204554  1596  BF31	JSR	MISET2
53EA A900    1597  BF7	LDA	#$00
53EC 9D2A49  1598  	STA	TMIS0,X
53EF 60      1599  DD	RTS
             1600  *PUT MISSILE SHAPE IN P/M AREA SUBROUTINE
53F0 A000    1601  MPLOT	LDY	#$00
53F2 B1F4    1602  BG1	LDA	(SHPM0L),Y
53F4 2D5649  1603  	AND	MASK
53F7 91F4    1604  	STA	(SHPM0L),Y
53F9 C8      1605  	INY
53FA C002    1606  	CPY	#$02
53FC 90F4    1607  	BL	BG1
53FE A000    1608  	LDY	#$00
5400 B1F0    1609  BG2	LDA	(SHPL),Y
5402 11F2    1610  	ORA	(SHPML),Y
5404 91F2    1611  	STA	(SHPML),Y
5406 C8      1612  	INY
5407 C002    1613  	CPY	#$02
5409 90F5    1614  	BL	BG2
540B A5F2    1615  	LDA	SHPML
540D 85F4    1616  	STA	SHPM0L
540F A5F3    1617  	LDA	SHPMH
5411 85F5    1618  	STA	SHPM0H
5413 60      1619  	RTS
             1620  *SETUP TO PLOT MISSILE 1
5414 AD4349  1621  MISET1	LDA	Y1M		;MISSILE POSITION CORRECTED
5417 85F2    1622  	STA	SHPML
5419 A988    1623  	LDA	#<PDATA
541B 18      1624  	CLC
541C 6903    1625  	ADC	#$03		;MISSILES .75K BEYOND START
541E 85F3    1626  	STA	SHPMH
5420 85F5    1627  	STA	SHPM0H
5422 BD9348  1628  	LDA	MISL0,X		;POINTER TO CORRECT MISSILE SHAPE
5425 85F0    1629  	STA	SHPL
5427 A948    1630  	LDA	#<MSHAPE	;HI BYTE BOTH P/M SHAPES SAME
5429 85F1    1631  	STA	SHPH
542B AD1049  1632  	LDA	YMISO1
542E 85F4    1633  	STA	SHPM0L
5430 AD5849  1634  	LDA	MASK1
5433 8D5649  1635  	STA	MASK
5436 20F053  1636  	JSR	MPLOT
5439 A5F4    1637  	LDA	SHPM0L
543B 8D1049  1638  	STA	YMISO1
543E AD4049  1639  	LDA	X1M
5441 8D05D0  1640  	STA	HPOSM1		;MISSILE 1 HORIZ POS
5444 60      1641  	RTS
             1642  *SETUP TO PLOT MISSILE 2
5445 AD4449  1643  MISET2	LDA	Y2M		;MISSILE POSITION CORRECTED
5448 85F2    1644  	STA	SHPML
544A A988    1645  	LDA	#<PDATA
544C 18      1646  	CLC
544D 6903    1647  	ADC	#$03		;MISSILES .75K BEYOND START
544F 85F3    1648  	STA	SHPMH
5451 85F5    1649  	STA	SHPM0H
5453 BD9348  1650  	LDA	MISL0,X		;POINTER-TO CORRECT MISSILE SHAPE
5456 85F0    1651  	STA	SHPL
5458 A948    1652  	LDA	#<MSHAPE	;HI BYTE BOTH P/M SHAPES SAME
545A 85F1    1653  	STA	SHPH
545C AD1149  1654  	LDA	YMISO2
545F 85F4    1655  	STA	SHPM0L
5461 AD5949  1656  	LDA	MASK2
5464 8D5649  1657  	STA	MASK
5467 20F053  1658  	JSR	MPLOT
546A A5F4    1659  	LDA	SHPM0L
546C 8D1149  1660  	STA	YMISO2
546F AD4149  1661  	LDA	X2M
5472 8D06D0  1662  	STA	HPOSM2		;MISSILE 2 HORIZ POS
5475 60      1663  	RTS
             1664  *SETUP TO PLOT MISSILE 0
5476 AD4249  1665  MISET0	LDA	Y0M		;MISSILE POSITION CORRECTED
5479 85F2    1666  	STA	SHPML
547B A988    1667  	LDA	#<PDATA
547D 18      1668  	CLC
547E 6903    1669  	ADC	#$03		;MISSILES .75K BEYOND START
5480 85F3    1670  	STA	SHPMH
5482 85F5    1671  	STA	SHPM0H
5484 BD9348  1672  	LDA	MISL0,X		;POINTER TO CORRECT MISSILE SHAPE
5487 85F0    1673  	STA	SHPL
5489 A948    1674  	LDA	#<MSHAPE	;HI BYTE BOTH P/M SHAPES SAME
548B 85F1    1675  	STA	SHPH
548D AD0F49  1676  	LDA	YMISO0
5490 85F4    1677  	STA	SHPM0L
5492 AD5749  1678  	LDA	MASK0
5495 8D5649  1679  	STA	MASK
5498 20F053  1680  	JSR	MPLOT
549B A5F4    1681  	LDA	SHPM0L
549D 8D0F49  1682  	STA	YMISO0
54A0 AD3F49  1683  	LDA	X0M
54A3 8D04D0  1684  	STA	HPOSM0		;MISSILE 0 HORIZ POS
54A6 60      1685  	RTS
54A7 BD5A49  1686  LASER	LDA	LASON,X
54AA D038    1687  	BNE	BH1
54AC BD6E49  1688  	LDA	GALIVE,X
54AF D003    1689  	BNE	BH11
54B1 4C2F55  1690  	JMP	EL
54B4 A901    1691  BH11	LDA	#$01		;TURN LASER ON
54B6 9D5A49  1692  	STA	LASON,X
54B9 A970    1693  	LDA	#$70
54BB 18      1694  	CLC
54BC 7D7249  1695  	ADC	YG,X
54BF 9D6249  1696  	STA	LPOSH,X
54C2 DE6249  1697  	DEC	LPOSH,X		;BEAM STARTS JUST ABOVE GUN
54C5 BD7649  1698  	LDA	XG,X
54C8 9D5E49  1699  	STA	LPOSL,X
54CB DE5E49  1700  	DEC	LPOSL,X
54CE A903    1701  	LDA	#$03		;DELAY BETWEEN MOVENTS
54D0 9D6A49  1702  	STA	LCOUNT,X
54D3 BD6249  1703  	LDA	LPOSH,X
54D6 85F7    1704  	STA	GROUNH
54D8 BD5E49  1705  	LDA	LPOSL,X
54DB 85F6    1706  	STA	GROUNL
54DD A962    1707  	LDA	#$62		;PLOT INITIAL POSITION LASER
54DF 91F6    1708  	STA	(GROUNL),Y
54E1 4C2F55  1709  	JMP	EL
54E4 DE6A49  1710  BH1	DEC	LCOUNT,X
54E7 BD6A49  1711  	LDA	LCOUNT,X	;MOVE BEAM EVERY 3RD FRAME
54EA D043    1712  	BNE	EL
54EC BD6249  1713  	LDA	LPOSH,X		;AT TOP OF SCREEN?
54EF C970    1714  	CMP	#$70
54F1 D01B    1715  	BNE	BH2
54F3 BD6249  1716  	LDA	LPOSH,X
54F6 85F7    1717  	STA	GROUNH
54F8 BD5E49  1718  	LDA	LPOSL,X
54FB 85F6    1719  	STA	GROUNL
54FD A900    1720  	LDA	#$00		;ERASE LASER
54FF 91F6    1721  	STA	(GROUNL),Y
5501 A900    1722  	LDA	#$00		;TURN LASER OFF
5503 9D5A49  1723  	STA	LASON,X
5506 A950    1724  	LDA	#$50		;DELAY BETWEEN FIRING
5508 9D6649  1725  	STA	LDELAY,X
550B 4C2F55  1726  	JMP	EL
550E BD6249  1727  BH2	LDA	LPOSH,X
5511 85F7    1728  	STA	GROUNH
5513 BD5E49  1729  	LDA	LPOSL,X
5516 85F6    1730  	STA	GROUNL
5518 A900    1731  	LDA	#$00		;ERASE OLD POSITION LASER
551A 91F6    1732  	STA	(GROUNL),Y
551C C6F7    1733  	DEC	GROUNH
551E DE6249  1734  	DEC	LPOSH,X
5521 C6F6    1735  	DEC	GROUNL
5523 DE5E49  1736  	DEC	LPOSL,X
5526 A962    1737  	LDA	#$62
5528 91F6    1738  	STA	(GROUNL),Y	;PLOT NEW POSITION
552A A903    1739  	LDA	#$03
552C 9D6A49  1740  	STA	LCOUNT,X
552F 60      1741  EL	RTS
             1742  *BOMB SUBROUTINE
5530 AD8249  1743  BOMB	LDA	DELAY		;PREVENT BOMB DROP DURING DELAY
5533 D005    1744  	BNE	BJ1
5535 AD8402  1745  	LDA	STRIG0		;BUTTON PRESSED=O
5538 F008    1746  	BEQ	BJ2
553A AD1849  1747  BJ1	LDA	BOMBON
553D D034    1748  	BNE	BJ4
553F 4C9C55  1749  	JMP	EBM
5542 AD1649  1750  BJ2	LDA	BACK
5545 F0F3    1751  	BEQ	BJ1
5547 AD1849  1752  BJ3	LDA	BOMBON
554A D027    1753  	BNE	BJ4
             1754  *DROP BOMB INITALLY
554C AD0A49  1755  	LDA	YPM0		;CENTER BOMB UNDER SHIP
554F 18      1756  	CLC
5550 690A    1757  	ADC	#$0A
5552 8D3E49  1758  	STA	Y3
5555 AD0949  1759  	LDA	XPM0
5558 18      1760  	CLC
5559 6905    1761  	ADC	#$05
555B 8D3A49  1762  	STA	X3
555E A900    1763  	LDA	#$00
5560 8D3449  1764  	STA	VY3
5563 8D3549  1765  	STA	VTEMP		;INITILIZE ACCELERATION
5566 A901    1766  	LDA	#$01
5568 8D1849  1767  	STA	BOMBON
556B A203    1768  	LDX	#$03
556D 201F53  1769  	JSR	PLTST3
5570 4C9C55  1770  	JMP	EBM
             1771  *CALCULATE & PLOT NEW BOMB POSITION
5573 EE3549  1772  BJ4	INC	VTEMP
5576 AD3549  1773  	LDA	VTEMP
5579 4A      1774  	LSR			;DIVIDE BY 4
557A 4A      1775  	LSR
557B C903    1776  	CMP	#$03
557D 9002    1777  	BL	BJ45
557F A903    1778  	LDA	#$03		;CLIP TO 3
5581 8D3449  1779  BJ45	STA	VY3		;NEW VY3
5584 AD3E49  1780  	LDA	Y3
5587 18      1781  	CLC
5588 6D3449  1782  	ADC	VY3
558B 8D3E49  1783  	STA	Y3
558E AD3A49  1784  	LDA	X3
5591 18      1785  	CLC
5592 6901    1786  	ADC	#$01		;FORWARD VEL-1
5594 8D3A49  1787  	STA	X3
5597 A203    1788  	LDX	#$03
5599 201F53  1789  	JSR	PLTST3
559C 60      1790  EBM	RTS
             1791  *SCORE SUBROUTINE
559D EE7A49  1792  SCORE3	INC	SR10
55A0 AD7A49  1793  	LDA	SR10
55A3 C91A    1794  	CMP	#$1A		;ADD 16 FOR INTERNAL VALUES
55A5 9008    1795  	BL	SCORE2
55A7 EE7B49  1796  	INC	SR100
55AA A910    1797  	LDA	#$10		;CHARACTER 0 IS INTERNAL $10
55AC 8D7A49  1798  	STA	SR10
55AF EE7A49  1799  SCORE2	INC	SR10
55B2 AD7A49  1800  	LDA	SR10
55B5 C91A    1801  	CMP	#$1A
55B7 9008    1802  	BL	SCORE
55B9 EE7B49  1803  	INC	SR100
55BC A910    1804  	LDA	#$10
55BE 8D7A49  1805  	STA	SR10
55C1 EE7A49  1806  SCORE	INC	SR10
55C4 AD7A49  1807  	LDA	SR10
55C7 C91A    1808  	CMP	#$1A
55C9 9008    1809  	BL	BK1
55CB EE7B49  1810  	INC	SR100
55CE A910    1811  	LDA	#$10
55D0 8D7A49  1812  	STA	SR10
55D3 AD7B49  1813  BK1	LDA	SR100
55D6 C91A    1814  	CMP	#$1A
55D8 9008    1815  	BL	BK2
55DA EE7C49  1816  	INC	SR1000
55DD A910    1817  	LDA	#$10
55DF 8D7B49  1818  	STA	SR100
55E2 AD7C49  1819  BK2	LDA	SR1000
55E5 C91A    1820  	CMP	#$1A
55E7 9008    1821  	BL	BK3
55E9 EE7D49  1822  	INC	SR10T
55EC A910    1823  	LDA	#$10
55EE 8D7C49  1824  	STA	SR1000
             1825  *PLACE VALUES IN SCORE LINE
55F1 AD7A49  1826  BK3	LDA	SR10
55F4 8D2669  1827  	STA	INFO+38
55F7 AD7B49  1828  	LDA	SR100
55FA 8D2569  1829  	STA	INFO+37
55FD AD7C49  1830  	LDA	SR1000
5600 8D2469  1831  	STA	INFO+36
5603 AD7D49  1832  	LDA	SR10T
5606 8D2369  1833  	STA	INFO+35
5609 60      1834  	RTS
             1835  *ERASE SHIP SUBROUTINE
560A A900    1836  XSHIP	LDA	#$00
560C 8D9349  1837  	STA	EXCOUNT
560F A901    1838  	LDA	#$01		;TURN DEREZ EXPLOSION ON
5611 8D9249  1839  	STA	REZFLAG
5614 A940    1840  	LDA	#$40		;TURN ON SHIP EXPLOSION SOUND
5616 8D9149  1841  	STA	SEXTIME
5619 CE8349  1842  	DEC	SHIPNUM
561C AD8349  1843  	LDA	SHIPNUM
561F 8D1A69  1844  	STA	INFO+26
5622 C910    1845  	CMP	#$10		;0 SHIPS?
5624 F018    1846  	BEQ	EGAME
5626 A901    1847  	LDA	#$01		;TURN ON DELAY
5628 8D8249  1848  	STA	DELAY
562B A900    1849  	LDA	#$00		;4 SECOND DELAY
562D 8514    1850  	STA	$14
562F A900    1851  	LDA	#$00
5631 8513    1852  	STA	$13
5633 A9F0    1853  	LDA	#$F0		;4 SECOND DELAY
5635 8D2049  1854  	STA	NDLAY1
5638 A9D0    1855  	LDA	#$D0		;3+ SECOND DELAY
563A 8D2149  1856  	STA	NDLAY2
563D 60      1857  	RTS
563E AD0D49  1858  EGAME	LDA	XS		;END GAME BY WRITEING "END GAME"
5641 6914    1859  	ADC	#$14
5643 8D8C49  1860  	STA	OVER
5646 AA      1861  	TAX
5647 A000    1862  	LDY	#$00
5649 B90049  1863  BM1	LDA	GOVER,Y
564C 9D007B  1864  	STA	$7B00,X
564F E8      1865  	INX
5650 C8      1866  	INY
5651 C009    1867  	CPY	#$09
5653 90F4    1868  	BL	BM1
             1869  *TEST IF NEW HIGH SCORE
5655 38      1870  HIGH	SEC
5656 AD7D49  1871  	LDA	SR10T
5659 ED8149  1872  	SBC	HSR10T
565C F004    1873  	BEQ	BN1		;TEST NEXT DIGIT IF 0
565E 1025    1874  	BPL	THIGH		;UPDATE HI SCORE
5660 303B    1875  	BMI	ED		;SCORE<HI SCORE EXIT
5662 38      1876  BN1	SEC
5663 AD7C49  1877  	LDA	SR1000
5666 ED8049  1878  	SBC	HSR1K
5669 F004    1879  	BEQ	BN2
566B 1018    1880  	BPL	THIGH
566D 302E    1881  	BMI	ED
566F 38      1882  BN2	SEC
5670 AD7B49  1883  	LDA	SR100
5673 ED7F49  1884  	SBC	HSR100
5676 F004    1885  	BEQ	BN3
5678 100B    1886  	BPL	THIGH
567A 3021    1887  	BMI	ED
567C 38      1888  BN3	SEC
567D AD7A49  1889  	LDA	SR10
5680 ED7E49  1890  	SBC	HSR10
5683 3018    1891  	BMI	ED
5685 AD7A49  1892  THIGH	LDA	SR10		;UPDATE NEW HIGH SCORE
5688 8D7E49  1893  	STA	HSR10
568B AD7B49  1894  	LDA	SR100
568E 8D7F49  1895  	STA	HSR100
5691 AD7C49  1896  	LDA	SR1000
5694 8D8049  1897  	STA	HSR1K
5697 AD7D49  1898  	LDA	SR10T
569A 8D8149  1899  	STA	HSR10T
569D A901    1900  ED	LDA	#$01
569F 8D8249  1901  	STA	DELAY
56A2 A900    1902  	LDA	#$00		;4 SECOND DELAY
56A4 8514    1903  	STA	$14
56A6 8513    1904  	STA	$13
56A8 60      1905  	RTS
             1906  *SUBROUTINE TO REPLACE MISSILE BASES
56A9 8D2B85  1907  	STA	$852B
56AC 8D4A85  1908  	STA	$854A
56AF 8D6986  1909  	STA	$8669
56B2 8D8483  1910  	STA	$8384
56B5 8D9785  1911  	STA	$8597
56B8 8DA984  1912  	STA	$84A9
56BB 8DD385  1913  	STA	$85D3
56BE A964    1914  	LDA	#$64
56C0 8D2B84  1915  	STA	$842B
56C3 8D4A84  1916  	STA	$844A
56C6 8D6985  1917  	STA	$8569
56C9 8D8482  1918  	STA	$8284
56CC 8D9784  1919  	STA	$8497
56CF 8DA983  1920  	STA	$83A9
56D2 8DD384  1921  	STA	$84D3
56D5 EA      1922  	NOP
56D6 A900    1923  MBSUB	LDA	#$00
56D8 8D8649  1924  	STA	MBCOUNT
56DB A963    1925  	LDA	#$63		;MISSILES
56DD 8D2B85  1926  	STA	$852B
56E0 8D4A85  1927  	STA	$854A
56E3 8D6986  1928  	STA	$8669
56E6 8D8483  1929  	STA	$8384
56E9 8D9785  1930  	STA	$8597
56EC 8DA984  1931  	STA	$84A9
56EF 8DD385  1932  	STA	$85D3
56F2 A964    1933  	LDA	#$64
56F4 8D2B84  1934  	STA	$842B
56F7 8D4A84  1935  	STA	$844A
56FA 8D6985  1936  	STA	$8569
56FD 8D8482  1937  	STA	$8284
5700 8D9784  1938  	STA	$8497
5703 8DA983  1939  	STA	$83A9
5706 8DD384  1940  	STA	$84D3
5709 60      1941  	RTS
             1942  *TEST TARGET HIT SUBROUTINE
570A AD8A49  1943  RTARGET	LDA	POS		;CALC PLAYFIELD POS OF BOMB OR MISSILE
570D 38      1944  	SEC
570E E920    1945  	SBC	#$20
5710 18      1946  	CLC
5711 6D0E49  1947  	ADC	FS
5714 4A      1948  	LSR			;DIVIDE BY 8
5715 4A      1949  	LSR
5716 4A      1950  	LSR
5717 18      1951  	CLC
5718 6D0D49  1952  	ADC	XS
571B 8D8449  1953  	STA	BTARGET
571E CE8449  1954  	DEC	BTARGET		;ALSO TEST VALUE ON EACH SIDE
             1955  *CHECK FOR LASER BASE COLLISION
5721 A900    1956  	LDA	#$00
5723 8D8549  1957  	STA	STRIKE
5726 A93E    1958  LB	LDA	#$3E
5728 CD8449  1959  	CMP	BTARGET
572B F007    1960  	BEQ	BP1
572D A93F    1961  	LDA	#$3F
572F CD8449  1962  	CMP	BTARGET
5732 D00E    1963  	BNE	BP2
5734 A900    1964  BP1	LDA	#$00		;SHUT OFF LASER BASE 1
5736 8D3E83  1965  	STA	$833E
5739 8D3F83  1966  	STA	$833F
573C 8D6E49  1967  	STA	GALIVE
573F 4C9357  1968  	JMP	LBEND
5742 A971    1969  BP2	LDA	#$71
5744 CD8449  1970  	CMP	BTARGET
5747 F007    1971  	BEQ	BP3
5749 A972    1972  	LDA	#$72
574B CD8449  1973  	CMP	BTARGET
574E D00E    1974  	BNE	BP4
5750 A900    1975  BP3	LDA	#$00		;SHUT OFF LASER BASE 2
5752 8D7186  1976  	STA	$8671
5755 8D7286  1977  	STA	$8672
5758 8D6F49  1978  	STA	GALIVE+1
575B 4C9357  1979  	JMP	LBEND
575E A99E    1980  BP4	LDA	#$9E
5760 CD8449  1981  	CMP	BTARGET
5763 F007    1982  	BEQ	BP5
5765 A99F    1983  	LDA	#$9F
5767 CD8449  1984  	CMP	BTARGET
576A D00E    1985  	BNE	BP6
576C A900    1986  BP5	LDA	#$00		;SHUT OFF LASER BASE 3
576E 8D9E86  1987  	STA	$869E
5771 8D9F86  1988  	STA	$869F
5774 8D7049  1989  	STA	GALIVE+2
5777 4C9357  1990  	JMP	LBEND
577A A9CB    1991  BP6	LDA	#$CB
577C CD8449  1992  	CMP	BTARGET
577F F007    1993  	BEQ	BP7
5781 A9CC    1994  	LDA	#$CC
5783 CD8449  1995  	CMP	BTARGET
5786 D018    1996  	BNE	MB
5788 A900    1997  BP7	LDA	#$00		;SHUT OFF LASER BASE 4
578A 8DCB86  1998  	STA	$86CB
578D 8DCC86  1999  	STA	$86CC
5790 8D7149  2000  	STA	GALIVE+3
5793 209D55  2001  LBEND	JSR	SCORE3
5796 A920    2002  	LDA	#$20		;TURN ON EXPLOSION SOUND
5798 8D9049  2003  	STA	SETIME
579B A901    2004  	LDA	#$01
579D 8D8549  2005  	STA	STRIKE
             2006  *CHECK AGAINST EACH OF 7 MISSILES
57A0 A000    2007  MB	LDY	#$00
57A2 B9AF48  2008  BR1	LDA	MBPOSL,Y
57A5 CD8449  2009  	CMP	BTARGET
57A8 F008    2010  	BEQ	BR2
57AA C8      2011  	INY
57AB C007    2012  	CPY	#$07
57AD D0F3    2013  	BNE	BR1
57AF 4CD857  2014  	JMP	MBEND
57B2 B9AF48  2015  BR2	LDA	MBPOSL,Y	;STORE IN 0 PAGE
57B5 85F6    2016  	STA	MBZL
57B7 B9B648  2017  	LDA	MBPOSH,Y
57BA 85F7    2018  	STA	MBZH
57BC A000    2019  	LDY	#$00
57BE A900    2020  	LDA	#$00		;REMOVE MISSILE BASE
57C0 91F6    2021  	STA	(MBZL),Y
57C2 E6F7    2022  	INC	MBZH
57C4 A900    2023  	LDA	#$00
57C6 91F6    2024  	STA	(MBZL),Y
57C8 20C155  2025  	JSR	SCORE
57CB A920    2026  	LDA	#$20		;TURN ON EXPLOSION SOUND
57CD 8D9049  2027  	STA	SETIME
57D0 EE8649  2028  	INC	MBCOUNT
57D3 A901    2029  	LDA	#$01
57D5 8D8549  2030  	STA	STRIKE
57D8 AD8549  2031  MBEND	LDA	STRIKE
57DB C901    2032  	CMP	#$01		;TARGET REMOVED?
57DD F006    2033  	BEQ	BS1
57DF EE8449  2034  	INC	BTARGET
57E2 4C2657  2035  	JMP	LB
57E5 60      2036  BS1	RTS
             2037  *CHANCE SUBROUTINE 0 TO 4
57E6 AD0AD2  2038  CHANCE	LDA	RANDOM
57E9 4A      2039  	LSR			;DIVIDE BY 32
57EA 4A      2040  	LSR
57EB 4A      2041  	LSR
57EC 4A      2042  	LSR
57ED 4A      2043  	LSR
57EE C905    2044  	CMP	#$05
57F0 B0F4    2045  	BGE	CHANCE		;TOO BIG TRY AGAIN
57F2 8D8749  2046  	STA	LUCK
57F5 60      2047  	RTS
             2048  *DEREZ SUBROUTINE
57F6 A200    2049  EXPLODE	LDX	#$00
57F8 BD4849  2050  	LDA	TEMPL,X
57FB 85F4    2051  	STA	SHPM0L
57FD BD4C49  2052  	LDA	TEMPH,X
5800 85F5    2053  	STA	SHPM0H
5802 AD0A49  2054  	LDA	YPM0
5805 85F2    2055  	STA	SHPML
5807 A988    2056  	LDA	#<PDATA
5809 18      2057  	CLC
580A 6904    2058  	ADC	#$04
580C 85F3    2059  	STA	SHPMH
580E A948    2060  	LDA	#<SHIP
5810 85F1    2061  	STA	SHPH
5812 A94C    2062  	LDA	#SHIP
5814 85F0    2063  	STA	SHPL
5816 A000    2064  	LDY	#$00		;COUNTER
5818 A900    2065  	LDA	#$00		;NEED 0 TO ERASE EACH TIME
581A 91F4    2066  BT1	STA	(SHPM0L),Y	;ERASE OLD SHAPE FIRST
581C C8      2067  	INY
581D C008    2068  	CPY	#$08
581F 90F9    2069  	BL	BT1
5821 A000    2070  	LDY	#$00		;START WITH 0TH BYTE IN SHAPE
5823 AD9349  2071  BT2	LDA	EXCOUNT		;FIRST TIME?
5826 D005    2072  	BNE	BT22
5828 B1F0    2073  	LDA	(SHPL),Y	;GET BYTE FROM PROPER SHAPE TABLE
582A 999649  2074  	STA	DEREZ,Y		;DO THIS FIRST TIME
582D AD0AD2  2075  BT22	LDA	RANDOM
5830 0D0AD2  2076  	ORA	RANDOM
5833 399649  2077  	AND	DEREZ,Y
5836 999649  2078  	STA	DEREZ,Y		;TEMP STORE DEGRADED SHAPE
5839 B1F0    2079  	LDA	(SHPL),Y
583B 2D0AD2  2080  	AND	RANDOM		;DEGRADE IMAGE RANDOMILY
583E 2D0AD2  2081  	AND	RANDOM
5841 2D0AD2  2082  	AND	RANDOM
5844 2D0AD2  2083  	AND	RANDOM
5847 199649  2084  	ORA	DEREZ,Y		;COMBINE 2 DEGRADED IMAGES SO LESS DEGRADED
584A 91F2    2085  	STA	(SHPML),Y	;PUT IN P/M AREA
584C C8      2086  	INY			;NEXT BYTE IN SHAPE
584D C008    2087  	CPY	#$08		;DONE?
584F 90D2    2088  	BL	BT2
5851 A5F2    2089  	LDA	SHPML		;TRANSFER NEW P/M POS TO OLD POS
5853 9D4849  2090  	STA	TEMPL,X
5856 A5F3    2091  	LDA	SHPMH
5858 9D4C49  2092  	STA	TEMPH,X
585B 60      2093  	RTS
             2094  *SOUND SUBROUTINE
585C AD8E49  2095  SOUND	LDA	SLTIM		;CHECK LASER TIMER FLAG
585F F02F    2096  	BEQ	SOUND2		;IF 0 SKIP
5861 C90F    2097  	CMP	#$0F		;TIMER GOES FROM I TO 15
5863 D00B    2098  	BNE	BW1
5865 A900    2099  	LDA	#$00
5867 8D00D2  2100  	STA	AUDF1
586A 8D01D2  2101  	STA	AUDC1
586D 4C9058  2102  	JMP	SOUND2		;LEAVE
5870 AD8F49  2103  BW1	LDA	SLTIM1		;CHECK DELAY TIMER
5873 D009    2104  	BNE	BW2		;IF NOT 0 COUNTDOWN TILL IT IS
5875 AD8D49  2105  	LDA	DELAY1		;GET NEW DELAY VALUE
5878 8D8F49  2106  	STA	SLTIM1		;STORE IT
587B EE8E49  2107  	INC	SLTIM		;INCREMENT MAIN TIMER (ALSO OUR FREQ. VALUE
587E CE8F49  2108  BW2	DEC	SLTIM1		;COUNTDOWN DELAY TIMER
5881 AD8E49  2109  	LDA	SLTIM		;OUR FREQ. VALUE
5884 0A      2110  	ASL			;MULTIPLY BY 16
5885 0A      2111  	ASL
5886 0A      2112  	ASL
5887 0A      2113  	ASL
5888 8D00D2  2114  	STA	AUDF1		;NEW TONE VALUE
588B A986    2115  	LDA	#$86		;DISTORTION 8 VOLUME 6
588D 8D01D2  2116  	STA	AUDC1
5890 AD9049  2117  SOUND2	LDA	SETIME		;CHECK EXPLOSION TIMER FLAG
5893 F00C    2118  	BEQ	SOUND3		;IF AT 0 NO SOUND
5895 CE9049  2119  	DEC	SETIME		;COUNTDOWN
5898 4A      2120  	LSR			;DIVIDE BY 2 TO GET VOLUME 0-16
5899 8D01D2  2121  	STA	AUDC1		;TELL POKEY NEW SOUND VOLUME-
             2122  				;-UPPER NIBBLE (DISTORTION) IS AT 0
589C A940    2123  	LDA	#$40		;TONE
589E 8D00D2  2124  	STA	AUDF1
58A1 AD9149  2125  SOUND3	LDA	SEXTIME		;CHECK EXPLOSION TIMER FLAG
58A4 F00D    2126  	BEQ	BZ1		;IF AT 0 NO SOUND
58A6 CE9149  2127  	DEC	SEXTIME		;COUNTDOWN
58A9 4A      2128  	LSR			;DIVIDE BY 4 TO GET VOLUME 0-16
58AA 4A      2129  	LSR
58AB 8D07D2  2130  	STA	AUDC4		;TELL POKEY NEW SOUND VOLUME-
             2131  				;-UPPER NIBBLE (DISTORTION IS AT 0
58AE A940    2132  	LDA	#$40		;TONE
58B0 8D06D2  2133  	STA	AUDF4
58B3 60      2134  BZ1	RTS
